Aproximace funkce v Matlabu – Matematika – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Aproximace funkce v Matlabu – Matematika – Fórum – Programujte.comAproximace funkce v Matlabu – Matematika – Fórum – Programujte.com

 

Dookie0
Duch
24. 3. 2020   #1
-
0
-

Ahoj, našel by se tu někdo moc hodný kdo by mi poradil jak mám aproximovat zadaný soubor {x, y} vhodným typem funkce? K aproximaci použít metodu nejmenších čtverců.

f(x) = c1 + c2/x
x,y=[0.1 0.4 0.9 1.6 1.8]’, [10.4 3.6 2.2 1.6 0.4]’

Mám určit konstanty c1 a c2, provést grafické znázornění daných a aproximovaných hodnot a určit součet čtvercu odchylek. 

Věřím, že pro někoho, kdo s Matlabem umí to bude hračka a budu moc ráda když mi někdo pomůže. V Matlabu jsem se učila 3 týdny než nám zavřeli školu :D 

Nahlásit jako SPAM
IP: 89.190.85.–
peter
~ Anonymní uživatel
4014 příspěvků
25. 3. 2020   #2
-
0
-

google = matlab aproximace metoda nejmensich ctvercu

http://uprt.vscht.cz/majerova/matlab/lekce9.html

>> u=[1 1.5 2.1 2.5 3 3.1 3.2 3.5]; % namerena data, nezav. prom.
>> v=[7.8 8.15 8.3 8.25 8.1 8.3 8.35 8.2]; % namerena data, zav. prom.
>> p=polyfit(u,v,2) % koeficienty polynomu 2. stupne pro 'u' a 'v'
p =
   -0.1684    0.8977    7.1150

>> v_aprox=polyval(p,u); % hodnoty polynomu v 'u'
>> S=sum((v_aprox-v).^2) % soucet ctvercu odchylek
S =
    0.0345

>> plot(u,v,'r+') % graf, puvodni data jako cervene krizky
>> hold on % prikreslime dalsi
>> plot(u,v_aprox,'k.-') % graf polynomu jako cerne body spojene carou
>> axis([0.8 3.7 7.7 8.4]) % uprava os
>> title('Data a jejich aproximace parabolou')% nazev grafu
>> legend('data','aproximacni polynom',4) % zobrazime legendu (4 = vpravo dole)

https://files.klaska.net/sites/files.klaska.net/files/manual_files/cvut/matlab/z%20hodin/matlab08.pdf

% připravíme data: fční hodnoty daných fcí v bodech xX = [f1(x), f2(x), f3(x), f4(x)];koef = X\y; % metoda nejmenších čtvercůa=koef(1),b=koef(2),c=koef(3),d=koef(4)
y_aprox = X*koef; % hledanéřešení

---
x = [0 0.2 0.4 0.5];%data
y = [2 3 4 5]; %data
x1 = 0:.1:.5;
spl1 = interp1(x,y,x1, 'spline');
spl2 = spline(x,y,x1);
plot(x,y,'ko', x1,spl1,'g', x1,spl2,'r')

V matlabu nedelam, ale minimalne by to mohl byt dobry zacatek programu a po par upravach by to asi mohlo fungovat.

Nahlásit jako SPAM
IP: 193.84.199.–
Dookie0
Duch
26. 3. 2020   #3
-
0
-

Děkuju moc :) už jsem to nějak dala dohromady

Nahlásit jako SPAM
IP: 89.190.85.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Aproximace plochy — založil MathMan

Aproximace - Diferenciál — založil djanosik

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý