Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj, chtěl bych vás tímto poprosit o asistenci při řešení mého problému, Google mě nechal na holičkách... Nedaří se mi nadefinovat zadaný signál, tak jak bych potřeboval.
Například mám signál definovaný v mathcadu takto 
co bych potřeboval je nadefinovat tento signál v matlabu. Přes google jsem něco málo našel a vymyslel to takto:
syms t;
T_0 = 2; f_0 = 1 / T_0; omega_0 = 2 * pi * f_0;
y_1 = @(t) t
y_2 = @(t) -t+2
t_1 = 0:0.001:1;
t_2 = 1:0.001:2;
figure
plot(t_1,y_1(t_1),t_2,y_2(t_2))
Ono to sice vykreslí správný signál, ale já bych vzhledem k dalším úpravám potřeboval, nadefinovat to tak jako v mathcadu pomocí společné proměnné t. Napadlo mě, že by se možná dalo použít nějakou podmínku if/else, ale v matlabu dělám poprvé a syntaxi neovládám. Věděl by někdo jak na to?
Offline
↑ NoR:
Ahoj,
"napálit" vzorky do pole je také možnost, která nemusí být vždy úplně od věci. Za mých mladých let se na osmibitech předpočítané hodnoty používaly poměrně často, protože to mohlo výrazně urychlit výpočet.
Matlab samozřejmě umí funkce, takže si můžeš definovat:
function [y]=pila(t)
if (t>=0)&(t<1)
y=t;
elseif (t>=1)&(t<2)
y=2-t;
else
y=0;
end
endTohle si uložíš do souboru pila.m, který bude ve stejném adresáři, v jakém spouštíš Matlab (možná to Matlab umí nějak lépe, já používám Octave z Linuxové konzoly a jsem líný hloubat nad nastavením...). Pak si ve svém skriptu prostě budeš volat funkci pila obvyklým způsobem:
> y=pila(1.15)
> 0.85
Pokud plánuješ používat funkci jen v jednom skriptu, může být i v těle skriptu, ale to je méně pohodlné pro ladění.
Offline
Stránky: 1