MATLAB - pomoc s rjesavanjem ne-linearnih sustava
(1 korsinik/a gleda/ju temu) (1) Gost

MATLAB - pomoc s rjesavanjem ne-linearnih sustava


07.06.2016 | 11:30
Dobar dan,

Trebam rijesiti sljedeci sustav no dobivam gresku da je funkcija lose definirana. Ako korisim
solve
predugo se vrti, a ako koristim
vpasolve 
javlja gresku da symoblic parameters are not allowed in non-poly equation. Pokusala sam na ovaj nacin, pretpostavljam da je problem sto matlabFunction to pretvori u function handles, a ne u funkciju.

Nadalje, ideje poput kopiraj vrijednosti nije rjesenje jer je ovo primjer jednog od zadataka i koeficijenti su kobasice po 3-4 stranice u wordu. Nadalje, postoji li u MATLABU nacin da se syms prebaci u funkciju ili bih morala napisati skriptu koja ce to spremiti u neki .txt file i ako onda to ucitam hoce li to biti funkcija, a ne syms? Nesto tipa automatski c/p.
function eq = ts_7(A,B,C,D,E)
syms x 
% dbstop if error
g = D * sin(C * atan( B*x - E * (B*x - atan(B*x)))) + A; % formula
eq5 = taylor(g, x, 'Order',1, 'ExpansionPoint',7) - 2*(x-7);
eq1 = taylor(g, x, 'Order',2, 'ExpansionPoint',7) - eq5 + 2.4*(x-7)^2;
eq2 = taylor(g, x, 'Order',3, 'ExpansionPoint',7) - eq1 + (x-7)^3;
eq3 = taylor(g, x, 'Order',4, 'ExpansionPoint',7) - eq2 - 8*(x-7)^4;
eq4 = taylor(g, x, 'Order',5, 'ExpansionPoint',7) - eq3;
eq = matlabFunction(eq1, eq2, eq3, eq4, eq5) % eq = matlabFunction([eq1; eq2; eq3; eq4; eq5]);
end


Funckiju zovem na sljedeci nacin:
opts = optimoptions('fsolve','InitDamping',0.005,'Algorithm','levenberg-marquardt'); 
init = [-1.3, 1.4, 4000, 0.12, 9]; % starting points 
tic
coeff = fsolve(@(x)ts_7(x(1), x(2), x(3), x(4), x(5)), init, opts);
toc


Undefined function or variable "fuser".
Error in fsolve (line 257)
if ~isempty( isoptimargdbl('FSOLVE', {'F','J'}, fuser, JAC) )
Error in script_7 (line 11)
coeff = fsolve(@(x)ts_7(x(1), x(2), x(3), x(4), x(5)), init,opts);
Error in run (line 96)
evalin('caller', [script ';']);


Trazim koeficijente $A, B, C, D, E$. Sto se tice vrijednosti za $x$, to je vektor 341x1 cije vrijednosti imam no mislim da mi to nije bitno i da ako stavim $x-7 = 1$, da se sustav moze rijesiti jer cu imati 5 nepoznanica i 5 jednadzbi.
Trazila sam pomoc na matlabovom forumu no njihove preinake i dalje daju istu gresku.


EDIT: dodano novo pitanje dolje u raspravi
07.06.2016 | 12:24
Nisam Matlab koristio više od 10 godina i upravo me iznenadilo koliko sam ga zaboravio jer mi pola ovog što si napisala zvuči kao kineski - nešto vrlo malo razumijem (zapravo - razabirem), a ostatak mi je samo "šum"...
Uglavnom, ne znam ti pomoći, žao mi je...
08.06.2016 | 10:48


Objasniti cu malo problem, mozda netko zna MATLAB.

Imam vrijednosti za x i zelim naci koeficijente funkcije g t.d. g aproksimira x podatke.

A, B, C, D, E
g(x) = D * sin(C * atan( B*x - E * (B*x - atan(B*x)))) + A;


Prvi pristup je bio pomocu optimizacijskih algoritama i dobila sam dobre parametre koje vise manje fittaju x vrijednosti.

Htjela sam naci drugi nacin kako bi mogla rjesiti (matematicki mi je dosta jasno, ali je malo problem s kodiranjem) pa je ideja sljedeca:

Funkcija se moze razviti u Taylorov i Fourierov red no ajmo raditi na primjeru Taylora jer je princip isti za Fouriera.


Nadem Taylorov red T(x) za g(x) koji izgleda kao T(x) = ()x^7 + ()x^5 + ()x^3 + ()x + ABCD.
U () su nelinearne kombinacije A, B, C, D i E.
Npr. ovo sam dobila za jedan drugi primjer

f(1) =      B*C*D; %.* xdata; % x^1

f(2) =     -D*(C*((B^3*E)/3 + B^3/3) + (B^3*C^3)/6);   %* xdata.^3; % x^3

f(3) =      (D*(C*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)) + (B^2*C^3*((B^3*E)/3 + B^3/3))/6 + B*C*((B^4*C^4)/120 + (B*C^2*((B^3*E)/3 + B^3/3))/3)) + 0.2839); %* xdata.^5; % x^5

f(4) = 	   -D*(C*(B*((2*B^6*E)/15 + ((4*B^7*E^2)/9 + (8*B^7*E)/5)/(12*B) + B^2*((2*B^4*E)/15 + B^4/7)) + (22*B^7*E)/105 + (B^3*E*((2*B^4*E)/9 + B^4/5))/3) +...
 			C*((B^3*E)/3 + B^3/3)*((B^4*C^4)/120 + (B*C^2*((B^3*E)/3 + B^3/3))/3) + (B^2*C^3*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)))/6 + B*C*((B^3*C^4*((B^3*E)/3 + ...
 			B^3/3))/60 + B^2*C^2*((B^4*C^4)/5040 + (B*C^2*((B^3*E)/3 + B^3/3))/60) + (4*B*C^3*((B^3*E)/3 + B^3/3)^2 + 8*B^2*C^3*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)))/(24*B*C)));  % * xdata.^7; % x^7
        
f(5) =	   D*(C*((10*B^9*E)/63 + B*(((4*B^9*E^2)/5 + (12*B^9*E)/7)/(18*B) + B^2*((2*B^6*E)/21 + ((4*B^7*E^2)/9 + (8*B^7*E)/5)/(20*B) + B^2*((2*B^4*E)/21 + B^4/9)) + (B*((4*B^7*E^2)/9 + (8*B^7*E)/5))/20 +... 
		   (2*B^4*E*((2*B^4*E)/15 + B^4/7))/3) + (B^3*E*((2*B^6*E)/15 + ((4*B^7*E^2)/9 + (8*B^7*E)/5)/(12*B) + B^2*((2*B^4*E)/15 + B^4/7)))/3 + (B^5*E*((2*B^4*E)/9 + B^4/5))/5) + B*C*((B*C*(4*B*C^3*((B^3*E)/3 + ...
		    B^3/3)^2 + 8*B^2*C^3*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5))))/480 + (12*B^2*C^3*(B*((2*B^6*E)/15 + ((4*B^7*E^2)/9 + (8*B^7*E)/5)/(12*B) + B^2*((2*B^4*E)/15 + B^4/7)) + (22*B^7*E)/105 + (B^3*E*((2*B^4*E)/9 + B^4/5))/3) + ...
			12*B*C^3*((B^3*E)/3 + B^3/3)*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)))/(36*B*C) + B^2*C^2*((B^3*C^4*((B^3*E)/3 + B^3/3))/2520 + B^2*C^2*((B^4*C^4)/362880 + (B*C^2*((B^3*E)/3 + B^3/3))/2520) + (4*B*C^3*((B^3*E)/3 + B^3/3)^2 + ... 
			8*B^2*C^3*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)))/(480*B*C)) + 2*B*C^2*((B^3*E)/3 + B^3/3)*((B^4*C^4)/5040 + (B*C^2*((B^3*E)/3 + B^3/3))/60)) + C*((B^3*E)/3 + B^3/3)*((B^3*C^4*((B^3*E)/3 + B^3/3))/60 + ...
			B^2*C^2*((B^4*C^4)/5040 + (B*C^2*((B^3*E)/3 + B^3/3))/60) + (4*B*C^3*((B^3*E)/3 + B^3/3)^2 + 8*B^2*C^3*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)))/(24*B*C)) + (B^2*C^3*(B*((2*B^6*E)/15 + ((4*B^7*E^2)/9 + (8*B^7*E)/5)/(12*B) + ...
			B^2*((2*B^4*E)/15 + B^4/7)) + (22*B^7*E)/105 + (B^3*E*((2*B^4*E)/9 + B^4/5))/3))/6 + C*((B^4*C^4)/120 + (B*C^2*((B^3*E)/3 + B^3/3))/3)*((14*B^5*E)/45 + B*((2*B^4*E)/9 + B^4/5)));  %* xdata.^9; % x^9

f(6) =      A;
.

Nadalje, podatke x aproksimiram s polinomom p(x) = ax^7 + bx^5 + cx^3 + dx + e.

I onda nadem () tako da izjednacim T(x) s p(x) i rjesim sistem. Tu ima jos detalja (razviti Taylorov red oko neke druge tocke, itd) no ovo je najosnovnija ideja.
08.06.2016 | 16:59
Evo, majke mi, čitam po treći put i osjećam se tako glup...
U svakom slučaju, hvala ti. Vratila si me u dane mladosti, dok smo moja draga i ja još hodali. Ja sam studirao elektrotehniku, a ona matematiku i informatiku na PMFu. U svakom sam se društvu osjećao tako pametan, osim kad bi se skupile njene kolegice s faksa. Tu sam imao osjećaj da sam jedva malo bolji od uličnog kopača kanala. I to ne bagerista, nego onog s krampom.
08.06.2016 | 17:20
E onaj s krampom je pomoćni bagerista. On ide gdje bager ne ide.
09.06.2016 | 08:14
hehe @smayoo

Dakle sada idem rjesavati ogledni primjer s MATLAB-ove stranice i dalje mi baca ovu gresku. Evo screenshota, mozda sada netko skuzi di je problem jer ja u to gledam vec par dana i dalje ne vidim i vec mi postaje neugodno od moje bedastoce.
Prilozi:
09.06.2016 | 08:36
Mozda glupo ali umjesto tocke-zareza stavi ili dvotocku ili zarez.
Nekako mi se cini greska u interpunkciji
09.06.2016 | 09:08
Nije u tome greska.

Probala isti kod na MATLABu iz 2013. i sada radi. No za moju funkciju mi javlja novu gresku

Error using fsolve (line 257)
FSOLVE requires all values returned by user functions to be of data type double.


ali s obzirom kuzim sto greska znaci no nemam pojma kako to rjesiti, mozda ako imate vremena da bacite pogled.
09.06.2016 | 17:34
Znači, ona prva greška ti je da funkcija fsolve koristi na jednom mjestu identifier (ne znam je li to opet neka funkcija, ili varijabla, štoli...) fuser koji kod tebe nije definiran. Ne znam zašto nije, ali nije.

Druga greška znači da mu je neka od matrica ili vektora takva da ima makar jedan element koji je cjelobrojan, a njemu to, čini se, smeta. Pregledaj brojeve. Ako je neki zapisan kao cijeli broj (npr. 7), zapiši ga kao realni broj (7.0).
21.07.2016 | 20:51
Da na otvaram novu temu, dobila sam par pitanja, a htjela bih ovdje provjeriti svoje razmisljanje jer se ne sjecam bas ili se prije nisam susrela s time.


unknown.jpg

Actor moze biti par tipova - mall, user, itd.

1. pitanje: Napisi SQL query koji nalazi svaki review koji ja napisao mall.

SELECT
*
FROM actors
LEFT JOIN content_reviews ON
Actors.id=content_reviews.id
LEFT JOIN malls ON malls.id=actors.id

ILI mozda

SELECT review_content_id FROM tbl_content_reviews WHERE actors_id IN (SELECT id FROM tbl_malls)

2. pitanje: Recimo npr. da zelimo grupirati malls po njihovom ponasanju. Koju bi tehniku(e) koristila i zasto? Kako bi vizualizirala rezultat?

Ovo pitanje mi nije bas najjasnije no generalno jedini algoritam iz machine learninga za grupiranje koji znam je k-means clustering. Sto bi vi odgovorili i kako biste vizualizirali to?
21.07.2016 | 22:15
Slika mi je presitna, ne vidim ništa pročitati. Može to malo veće?
22.07.2016 | 09:34
Kada prodem misom po njoj, moze se uvecati. Ne znam jel to do browsera, ako ne ide stavim novu.
22.07.2016 | 11:29
Ta uvećana mi je presitna. Jbg, i ja sam nekad imao takav vid.
22.07.2016 | 13:00
postimg.org/image/9c1zz84fr/

Probati ju povecati. Ako ne ide, bum prepisala tablice pa posaljem onda
22.07.2016 | 22:15
lucija kaže:
Actor moze biti par tipova - mall, user, itd.

1. pitanje: Napisi SQL query koji nalazi svaki review koji ja napisao mall.


Vjerujem da tebi to što si napisala zvuči savršeno jasno, ali nije. Više iz strukture sa slike, nego iz toga što si napisala, naslućujem što bi mogao biti zadatak. Zato uzmi u obzir mogućnost da sam posve pogrešno shvatio.

Dakle, naslućujem da treba naći sve reviewe koje je napisao bilo koji actor tipa mall. Ako je tako, onda nemoj krenuti od actors, nego od content_reviews. Ako koristiš left-join, onda ti relacija pokupi SVE zapise iz prve tablice u relaciji, a u poljima koji se odnose na drugu tablicu imaš podatke ako postoje povezani zapisi ili su ta polja prazna, ako ne postoje povezani zapisi. Dakle, moraš koristiti INNER JOIN ako želiš selekciju zapisa po tom kriteriju. Treće, u "sredini" veze mora biti tablica actors jer veza ide preko nje (takav ti je dijagram). Četvrto, relaciju ne uspostavljaš actors.id=content_reviews.id, to su dva različita primarna ključa, nego content_reviews.actor_id=actors.id, dakle između primarnog ključa i relacijskog ključa.

Simboli na dijagramu na slici mi nisu poznati pa opet naslućujem da su tablice nacrtane dolje u 1:1 relaciji s pivotnom tablicom (actors), a one nacrtane s desna su u 1:n. Ako je tako, onda su, opet pretpostavljam, podaci takvi da primarni ključ tih donjih tablica (npr. malls.id) jest jednak primarnom ključu pivotne tablice (actors.id). Ako je to sve tako, onda bi ja to napisao ovako:

SELECT
*
FROM tbl_content_reviews
INNER JOIN tbl_actors ON
tbl_content_reviews.actor_id=tbl_actors.id
INNER JOIN tbl_malls ON
tbl_actors.id=tbl_malls.id;

ILI mozda

SELECT review_content_id FROM tbl_content_reviews WHERE actors_id IN (SELECT id FROM tbl_malls)


Ovo bi isto radilo, samo sporije.

2. pitanje: Recimo npr. da zelimo grupirati malls po njihovom ponasanju. Koju bi tehniku(e) koristila i zasto? Kako bi vizualizirala rezultat?

Ovo pitanje mi nije bas najjasnije no generalno jedini algoritam iz machine learninga za grupiranje koji znam je k-means clustering. Sto bi vi odgovorili i kako biste vizualizirali to?


Što znači grupirati po "ponašanju"? Koji od podataka iz tablice određuje "ponašanje"? Zašto ti treba neki poseban algoritam? Imaš SQL komandu za grupiranje GROUP BY i HAVING.

Isto - što točno znači "vizualizirati"? Uobičajeni prikaz grupiranih podataka je da imaš zaglavlje grupe, u kojem su ispisani svi podaci koji se ponavljaju tu istu grupu, i onda ispod toga listu zapisa sa svim poljima koja su specifična za svaki pojedini zapis.
23.07.2016 | 15:29
@smayoo hvala puno na odgovoru!
sto se tice opisa, ja sam to dobila u mailu, samo sam prevela na engleski. Meni nije bilo jasno no mislila sam da mozda bedasta/neznanje pa sam pitala okolo i nikom nije bas jasno. Znam da je bolje uvijek pitati nego praviti se pametan no ovaj put sam htjela provjeriti s iskusnijima. Budem ih pitala za drugi zadatak pa pojasnim kad dobijem odgovor.
23.07.2016 | 16:47
Misliš - prevela *SA* engleskog? Daj da vidim originalni engleski tekst.
24.07.2016 | 19:07
I'll start with an example of a database schema we are working on. (it is not complete, and not all names are filled in, I just included it to demonstrate the intention),

In essence, there are several types of actors. An actor can be a mall, or a user, ..

Each actor can perform actions on content. So a review refers to a content, and the actor who wrote it.


Question 1:

Write an SQL query that fetches all reviews written by a mall.


Question 2:

Let's say we wanted to group malls by their behaviour. What technique(s) would you use and why? How would you visualize the result?
24.07.2016 | 20:21
Da. Nažalost nije baš puno jasnije...
25.07.2016 | 12:32
A mall is an actor. An actor can leave reviews and likes. Now let's say we want to find all competitors (or partners) of this mall. So we need to find malls that engage in similar activity on similar content.
25.07.2016 | 21:52
SELECT *
FROM tbl_malls
INNER JOIN tbl_actors ON
tbl_malls.id=tbl_actors.id
INNER JOIN tbl_content_(koju odabereš) ON
tbl_actors.id=tbl_content_(koju odabereš).actor_id
GROUP BY tbl_content_(koju odabereš).content_id

pa još možeš eventualno dodati

HAVING Count(tbl_actors.id)>1

u smislu da te zanimaju samo aktori kojih ima više od jedan u svojoj grupi. Na primjer.

Kako bi vizualizirala rezultat? Nemam pojma. Klasični strukturirani prikaz stablom?
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 45 minuta
  • drlovric: Imal jos kakvih dobrih dealova za software, usluge i sl?
  • marioart: da se nadovezem... kako su sad Prime Days na Amazonu, moze se uzeti Family M365 na 15mj za 53€ ... ako nekome eventualno treba :)
  • smayoo: I ja kažem! :)
  • zoranowsky: Libre office FTW!
  • drlovric: Meni je jedna dobra dusa ovdje na Jabucnjaku poklonila MS Office. Neka bulk licenca je bila u pitanju, mislim nesto vezano za obrazovne ustanove. Radi godinama. Sad gledam ovu novu 2024. Skoro su pa identicne. Uopce ne znam niti sto je tu novoga :)
  • Borisone: Microsoft 365 Family (za 6 korisnika) je oko 60 eur kada je na akciji. A često je. Kupiš par komada i miran si par godina.
  • Zdravac: 150 € je ravno 2 godine pretplate na office 365, vjerujem da je to bolja opcija
  • drpongrac23: Ah, trebao je biti plačko!!!!
  • drpongrac23: @drlovric - ????????????????????????????????
  • drlovric: @drpongrac23: Kupujes? :)
  • Kloba: Jebote šta ove poplave rade po BiH, to je prestrašno... :(
  • drpongrac23: Evo i link [link]
  • drpongrac23: Izašao "MS Office 2024" za Mac i PC, kao standalone verzija, pa eto, ako koga zanima…
  • Bertone: Što se je dogodilo? 27 sati nitko ništa nije napisao na forumu :)
  • Yonkis: Dostupan 18.0.1 i za sve ostale apple uređaje (sat, iPad..)
  • zoranowsky: Thx!
  • dpasaric: Ugodno iznenađenje! :)
  • smayoo: Mašala. Zapratih vas na Spotifyu. :)
  • zoranowsky: [link]
  • zoranowsky: Ako netko želi link za download, pošaljite mi pm.
  • zoranowsky: [link]
  • zoranowsky: Da se i ja malo pohvalim, friško je izašao treći album Twistersa
  • mbp2009: Da, T9 napokon
  • Zdravac: KOOONAČNOO!
  • Zdravac: Jel ste skužili novost u iOS 18 kod poziva (dial pad)?!!
  • drlovric: Ja ne ocekujem bas puno od Apple AI a radim na engleskom. Širi je i danas dan prilicno poglupa :)
  • Yonkis: aha, ovo; [link]
  • mbp2009: 15.1 beta je otvorila AI u EU
  • mbp2009: MacOS
  • Yonkis: mbp2000 to imaš US App Store ID? I misliš na iOS 18.1 beta?
  • mbp2009: Testira itko 15.1? Ja testiram, ali ovaj AI Siri ne razumije baš previše, niti mi je dostupan u drugim aplikacijama kao npr Mail
  • Yonkis: Matija klc ako ga nosiš u iStyle onda ovo [link] a u tekstu im nedostaje ovaj link [link]
  • songoku: Ako oces zadrzati garanciju, u ovlastenom servisu ce ti zamijeniti cijeli sat (dobit ces najvjerojatnije refurbished) za mislim €350, tj. ovisi o modelu, to je za series 9, nisi rekao koji sat imas
  • songoku: @Matija nema originala, Apple ne mijenja nista na satu, samo ti zamijene cijeli uredja. Samo ekran se moze zamijeniti, ali ne u ovlastenom servisu, i time uvijek gubis garanciju
  • Matija klc: Decki, trebam popraviti staklo na watchu. Razbilo se. Gdje predlazete? Ima li samo istyle original i da ne gubim garanciju? Hvala
  • Yonkis: Reset ili reboot/restart?
  • big_mac: Napravio reset rutera ali nije pomoglo.
  • miomika: restartaj router. isto kao i Bonjour, nakon nekog vremena router se objesi i ne radi
  • big_mac: Nije nađen niti jedan airprint uređaj
  • big_mac: Pokušao sam sve navedeno ali uvijek isto
  • Kloba: Posljednji - baš za povezivanje inečega sa hp printerima: [link]
  • Kloba: Javi ako išta pomaže
  • Kloba: Ovo je troubleshoot sa stranica Applea: [link]
  • Kloba: Ovo? [link]
  • big_mac: Pokušao sam već tim putem ali ništa nisam našao sto je pomoglo.
  • Kloba: Ukucaj na Google ili YouTube, neko sigurno ima iste probleme i objavio je post kako to riješiti
  • big_mac: Jel zna netko kako rijesiti problem sa airprint na ios 18 a i prijašnjoj verziji ne mogu naći hp pisac
  • Kloba: Isprika, ipak je na kraju dobio 30 dana...
  • Kloba: Trifunović je navodno htio do Rijeke. Od tamo mu je žena s kojom se u međuvremenu oženio. I sad, poučen iskustvom (dobio je šest mjeseci uvjetno, ne 30 dana ja mislim), neće više vrijeđati preko X-a nego je hladno poručio: "uskoro postajem hrvatski državljan". I on i buraz oženili Hrvatice.
  • Yonkis: Ajme ovaj Photos u iOS 18 treba zasebni manual/priručnik.

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Anketa

Kupujete li profesionalni Mac?

Čekam novi modularni Mac Pro - 48.5%
Novac nije problem, kupujem iMac Pro - 0.7%
Kupujem Valjak, baš je lijep i tih! - 0%
Kupujem polovni Mac Pro tower - 11.8%
Nadogradit ću postojeći Mac Pro tower - 2.9%
Običan iMac 27" mi je dovoljan za posao - 5.9%
Skromnih sam potreba, Mac mini je zakon! - 7.4%
Radim na terenu, mora biti MacBook Pro - 3.7%
Ne diram ništa, stari Mac služi me odlično - 10.3%
Kupujem PC kantu i prelazim na Windowse! - 8.8%

Ukupno glasova: 136
Anketa je završena dana: 08 Svi 2018 - 12:17
Page Speed 1.28 Seconds

Provided by iJoomla SEO