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 11 sati, 12 minuta
  • smayoo: @Yonkis, pitao si kome vjerujemo :)
  • marioart: @Yonkis ovisno o aparatu koji imas, nije ti zgorega ni provjeriti cijene u sluzbenom servisu... ja sam u mediamarktu u njemackoj platio zamjenu za 13pro 88eura ... spojis ugodno sa korisnim i u Graz u shoping i servis
  • Yonkis: A ovi u Rijeci, Smart Doctor? Evo linka:[link]
  • Yonkis: Novi firmware ako nekome treba: [link]
  • Yonkis: Nevjerovatno da je cijena skočila na 150€ a znam da je prije 2 godine bila cca 70€. Prestrašno!
  • smayoo: @Yonkis - nažalost, u Rijeci više nikom. :( U Zagrebu je Davor više puta spomenuo da ima dobra iskustva s Agramservisom
  • VanjusOS: pa ti vratim
  • VanjusOS: ako imaš kabl kojeg trebaš isprobati možeš poslati meni da isprobam spojiti Mac pro
  • VanjusOS: i ja tražim već thunderbolt 2 kabel, iz Osijeka sam
  • zoranowsky: Jel ima netko u ZG za posuditi thunderbolt 2 kabel? Imam issue sa minijem M4 i thunderbolt 27 displayem pa trebam testirati neke kombinacije...
  • Yonkis: Kome vi u Rijeci vjerujete za zamjenu baterije na iPhonu jer u iStyleu je 150 € i čeka se par tjedana
  • Yonkis: :(
  • smayoo: [link]
  • smayoo: RIP Scott Adams :(
  • Gjuroo: Za sad to može zvučati i kao Affinity priča. Not great but not that bad.
  • Soffoklo: Za to vrijeme Apple se lagano pretvara u Adobe - [link]
  • drlovric: Sve je bolje od ove blamaze sa Apple AI i cekanja pametnije Siri koja nikako da dodje :)
  • IkoIko: Apple i Google sklopili ugovor o korištenju Gemini AI... Zanimljiv razvoj situacije
  • ZeljkoB: Spigen - [link]
  • Riba: Moza zato da mozes koristiti BT tipkovnicu i mouse i dok je zaklopljen?
  • user: glupo: zatvorim laptop, BT i dalje upaljen, što ne bi trebalo ovo **** se ugasit kad ga poklopim
  • rusty: date hack je samo na par sekundi. vratiš datum, startaš app čisto da se digne i vratiš datum opet. To je to. Čisto da loada profile i postavke
  • smayoo: Date hack nisam htio raditi jer potrga druge stvari. Krenuo sam instalirati staru verziju LogiOptions preko homebrewa, ali riješili su problem prije nego sam dospio to napraviti
  • rusty: Osobno mislim da je 12h predugo za cert problem I nisam mogao doć na sebe kakav su problem napravili. Ono što je još gore, ovo im nije prvi put za taj isti slučaj. Dakle kako ne naučiš nešto iz ovoga. Dodano, date hack rješava problem da se ne mora drugi put čekati 12h
  • Bertone: A jučer nisam koristio MBP nego T14s pa nisam iskusio veselje sa certifikatima :D
  • Bertone: Imam MXMastera već godinama [link] i jedina dobra stavr kod njega je što ga mogu koristiti sa MBP, Tnink Padom i desktop računalom bez pretjeranog petljanja, no da je (pre)skup za ono što nudi, je.
  • smayoo: I, na kraju, ako za neki komad hardvera koji sam u životu kupio mogu reći da NIJE preskupo plaćen, to je sigurno Logitech MX Master 3. Jučer ujutro jesam bio spreman popi... na njih, ali činjenica je da su problem riješili unutar cca 12h otkad se pojavio.
  • smayoo: Osim toga, hardver radi s bazičnim postavkama, ali svi tweakovi i custom podešenja - ne.
  • smayoo: Radi se o softveru koji mora dobiti dozvolu korisnika da zakopa dosta duboko pod haubu radi komunikacije s periferijom.
  • smayoo: Ne mora biti spojeno na internet. Sigurnosni certifikat aplikacije je bio istekao i Apple ga je blokirao, a Logitech nije pazio na datum isteka certifikata i nije izdao update s novim certifikatom na vrijeme
  • Bertone: Ček malo, preskupo plaćeni hardver ne dela na Apple računalu ako računalo nije spojeno na internet (na stranu sad istekli certifikat) ili sam propustio nešto
  • smayoo: Da, jučer sam imao natezanje oko toga. Ali moram im priznati da su brzo riješili.
  • Yonkis: [link]
  • smayoo: @mrobert, forum, tema "eOI - opet diskriminacija"
  • stefanjos: SRETNA NOVA!
  • drlovric: [link]
  • signout: Sretna Nova!
  • zoranowsky: Sretna Nova!
  • dpasaric: Sretno nam svima! :)
  • Borisone: Sretna vam 2026-ta godina!
  • Gjuroo: Sretna i berićetna 2026.!
  • smayoo: SRETNAAAAAAAA!!! :D
  • Borostef: Sretna Nova godina!!! :)
  • Air: Sretna i uspješna nova!
  • drpongrac23: Sretna nova 2026. svima!!!
  • pontmax1: Ima li šampanjac ili samo Pepsi bez šećera :D
  • Yonkis: Sretan Božić svima!
  • vjeko1: Sretan Božić svima!
  • jura22: Sretan Božić i blagoslovljeni mi bili svi bez obzira na sve!
  • Gjuroo: Sretan Božić, ekipa!

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.52 Seconds

Provided by iJoomla SEO