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 2 dana, 14 sati
  • Yonkis: Raid? Za komarce? Za Siri?
  • drlovric: @Yonkis: Sad marketing timovi vec rade na strategiji "Kupite novi iPhone raid Nove Siri" :) Kao sto su se ljudi upecali na Apple inteligenciju, koja niti dan-danas ne radi niti jednu jedinu korisnu i uporabljivu stvar.
  • Yonkis: Look how they massacred my boy [link]
  • kupus: sad se ne može upaliti, nema ni jabuke pri paljenju. rip imac
  • kupus: nisam ni ja gasio svoj imac. neki dan, nakon budjenja iz sna, radio je 5 minuta. poslije toga screen "flickering" pa se ugasio.
  • Ender: @hal9000: mislim da nema smisla ni potrebe za takvom anketom. jer Mac se ne restartuje, osim kad budu neki update-i sistema, al to je redovno odrzavanje :)
  • Ender: @ZoPaj: toliko cesto? :) podseti me na mog kolegu sa studija kad je rekao - ja menjam devojke kao carape, 2 puta u godinu dana :)
  • Yonkis: @zopaj ima travel-sickness, ne podnosi vožnju? :)
  • ZoPaj: ja restartam često, dva tri put godišnje.. a kad ga vozim na more ugasim ga skroz ;)
  • hal9000: @Ender - Mogli bi predložiti jabučnjaku da stave anketu tipa "Kad ste zadnji put restartali svoj mac" :D
  • hal9000: @borisone Ne fali kontekst. Sjećam se kada sam ga zadnji put restartao, samo je bilo davno pa ne mogu procjeniti. A nemam preko 6 banki. Nisam boomer. :P
  • Borisone: Fali kontekst. Ako hal9000 ima preko šest banki taj "tako davno" moče biti i jučer. :-)
  • Ender: @hal9000: tako sam nesto i pretpostavio :)
  • hal9000: @Ender Nemam pojma! Toliko davno je to bilo da se ne mogu ni sjetiti! :D
  • Borisone: Novi Mac Studio, MacBook Air, iPad Air i iPad.
  • Borisone: Toliko najava ovaj tjedan a vikalica šuti.
  • Lihto: Its Been 84 Years XD
  • Ender: @hal9000: posle koliko vremena je bio taj restart?
  • hal9000: Danas sam restartao Mac! :O
  • kupus: @yonkis :D
  • ping: Pa HR koristi samo Skype. Ne bi to znao da to svaki put ne naglase. Ptrm skype iz Rima, putem skype iz Bruxellesa…
  • Yonkis: Ako ništa ostao je kao sinonim za online video call :) barem za sada, za neke.
  • Zdravac: ...Skype je izgubio smisao, kao i bilokakav interes za borbu sa konkurentima
  • Zdravac: vjerojatno ne, ali eto, malo nostalgije, iako je to već dugo vremena bilo izgledno, od kada su puno toga iskoristili za Teams...
  • smayoo: zar to itko još koristi?
  • Zdravac: Skype se gasi u svibnju! RIP :(
  • Yonkis: iPad 10th gen se izgubio pa psuješ ili..? :)
  • kupus: traži se ipad 10th gen, PM
  • hal9000: Hihihihihihihi: [link]
  • Zdravac: jura22, s obzirom na cijene rada, bravar mu je kod nas najskuplje rješenje
  • jura22: Daj bravaru da napravi. Jedan taj je malo jeftiniji od MP1.1.
  • kupus: [link]
  • kupus: Ako ne nadjes, 3d print je ok rjesenje
  • dpasaric: [link]
  • dpasaric: Nabavi ove nove koji mogu prihvatiti i nove velike diskove, nisu strašno skupo:
  • dpasaric: Teško da će ti to ikada itko imati viška! :)
  • ^SuperUnknown^: Ekipa, ima li tko viska HDD sledova za MacPro 2009-2012 (4,1-5,1)? :)
  • Zdravac: MB Air M1
  • Zdravac: to je zadnja verzija koja je u App Storeu
  • Zdravac: Meni na Sequoia 15.3.1 radi normalno WhatsApp v. 25.3.80 (instaliran putem App Store-a
  • ^SuperUnknown^: Da, nema druge. Sudeci po nekim threadovima novija verzija trazi AVX2 instrukcije koje cMP nema :/
  • kupus: whatsapp web? za prvu ruku
  • ^SuperUnknown^: Zadnji update WhatsApp desktop appa se vise ne pokrece, ikona zabounca na sekundu i nista se ne dogodi. Starija verzija koja mi je radila je upravo "expired". Monterey OS. Ima tko slicnih problema ili rjesenje?
  • dpasaric: Sretan 70-ti rođendan Jobsu u nekom digitalnom raju! ;)
  • kupus: neka se javi porukom
  • kupus: tražim preporuku za iptv, ako ima tko...
  • Zdravac: ...ali je najpraktičniji u kombinaciji sa Password managerom. Sve se učita i sve mi je tu postavljeno i dok tako radi, nemam jednostavno potrebe za prelaskom na nešto drugo. Isto otprilike kao i sa stock Mail.app
  • smayoo: Safari je dreq bloatware. Najgora Mac stock aplikacija.
  • kupus: nikad mi se nije svidio :(
  • Zdravac: zašto jednostavno ne koristite safari?

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 1.22 Seconds

Provided by iJoomla SEO