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 23 sati, 45 minuta
  • Yonkis: Font je drugačiji.
  • Performita: :-)
  • dpasaric: Pogledajte naslovnicu! :)
  • dpasaric: Taaaa-daaaa! :)
  • dpasaric: Javim uskoro... :)
  • dpasaric: Ne, ovdje na Jabučnjaku!
  • Yonkis: dpasaric - Jel' u Kokolu?
  • dpasaric: Spremamo poslasticu za večeras! :)
  • ivan.ocd: Hvala za konkretni model, budem i ja pogledao za takav neki model… imam puno knjiga koje trrba analizirati i tu je onda preslab.
  • drlovric: Moj kolega koristi Cowork sa M5 Pro sa 64GB, i nema tih problema... Ocigledno ti je taj Air preslab za tu specificnu namjenu :/
  • ivan.ocd: Da, prema Claudeu trebao bi M5 Max… neki dan je bilo preko 90GB Rama koje je koristilo… pogledat ću ovo sto si napisao pa javim
  • accom: Activity monitor će ti pokazat CPU / GPU / memory usage. Pretpostavljam, da je naročito GPU pod plafonom, a možda i Memory...
  • accom: A što kaže Claude po tom pitanju?
  • ivan.ocd: Ekipa, molim vas za brzinski savjet: imam MBA s 16GB RAM-a i koristim Claude puno, osobito Cowork. Izgleda da mi tih 16GB nije dovoljno jer svako malo dobijem upozorenje o memoriji, a i grije se ko lud (M5). Trebam li prodati ovaj Mac i gledati neki Pro ili Max s vise memorije ili hlađenja ili ne? Hvala
  • hal9000: OVO: -> [link]
  • hal9000: @yonkis: ma neki kompjuterski virusi... nemam pojma što je to! @smayoo: pa ja bih baš na krstarenje... :D
  • VanjusOS: [link]
  • smayoo: Sad su ti ta krstarenja vrlo povoljna pa nemaš više izgovora. ;)
  • Yonkis: hal9000 misliš o norovirusima? Srećom besparica me opet spasila pa nisam na kruzerima :j
  • hal9000: Danas čujem ekipu kako priča o nekim virus killer-ima. Može mi netko objasniti što je to? :D
  • imjasminh: Prodano kolegi s foruma.
  • imjasminh: 750 eur - [link]
  • Yonkis: Moram priznati da je ovo dobro odrađena aplikacija: [link]
  • imjasminh: Pozdrav svima! Prodajem Apple Watch Ultra 3, 49mm Black Titanium, račun garancija. Nije ni 2 mjeseca star, bacite pogled na oglase: [link]
  • dpasaric: I previše su ih prodali s obzirom na sve... oko 600.000
  • user: pa se nije dobro prodavao
  • user: Apple Vision je očito preskup bio
  • Riba: Bas glupost od hardvera.
  • Yonkis: Ok, i nije to neuspjeh, nešto su naučili iz toga, nadam se.
  • Riba: RIP Apple Vision. - [link]
  • drlovric: Lijepo [link]
  • dpasaric: Kao jako su zabirnuti za tvoju privatnost, a istovremeno s druge strane čini sve da je potkopaju...
  • Yonkis: Ova opcija neće nikada biti dostupna u EU ili...? [link]
  • Yonkis: The iOS 26.4.2, iPadOS 26.4.2, iOS 18.7.8, and iPadOS 18.7.8 updates that Apple released today address a security vulnerability that the FBI recently used to extract Signal message previews from an iPhone even after the app was deleted.
  • drlovric: Ja sam zadnji put cuo nikada da mi neko kaze, jao jest mi spor SSD na Mac :) To samo forsiraju ovi YT recenzenti. Nama normalnim smrtnicima totalno nebitna stavka na modernim M Macovima...
  • Yonkis: Zato jer mac diktira koliko će brzo SSD raditi. Ako radi max onda ce se i trošiti max. Ovako radi laganica pa traje dulje. Ovo pričam iz guzice. Možda ima smisla.
  • ZoPaj: mjerim s blackmagic disk speed test: mac studio m4 1tb disk 6380 mb/s read, 5200 write vanjski tb5 samsung 9100pro 4tb u acasis 80gps 6430 mb/s read, 6000 write znači vanjski brži od ugrađenog mac ssd
  • jura22: Uz TB5 i dobro kućište dobiju se velike brzine prijenosa podataka, ne kao interni SSD (otprilike duplo manje).
  • jura22: RAM se ne da "odlemiti" jer je sastavni dio SoC-a.
  • Ender: @cavarovobrdo: ... ili barem SSD.
  • cavarovobrdo: Nadam se da će novi CEO odlemiti RAM ;)
  • cavarovobrdo: Muštuluk: John Ternus to become Apple CEO
  • imenso: John Ternus novi CEO
  • CoffeePod: @yonkis jos me macOS 26 nije vidio a tko zna hoce li 27. Sequioa mi je toliko dobra da nemam razloga updejtati, a cijela prica sa Liquid Glass mi je odvratna.
  • Yonkis: The upcoming macOS 27 release will be compatible with Apple silicon Macs only.
  • dpasaric: Možeš uz search naći svaki
  • dpasaric: Pa zadnji intervju je na naslovnici, a ostali raspršeni tijekom godina
  • Ender: @dpasaric: a gde su ti razgovori? mislim gde se mogu naci?
  • Performita: Omogućuje lako postavljanje novih uređaja, sigurnost podataka i poslovni email bez velikog IT odjela. Cilj je da tvrtke rade jednostavnije i sigurnije na Apple uređajima.
  • drlovric: U cemu je fora sa ti Business? Imamo li mi mali smrtnici neku korist od toga ili je to samo za velike tvrtke?

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.87 Seconds

Provided by iJoomla SEO