» »

[matlab] onovno vprašanje

[matlab] onovno vprašanje

slovencl ::

Rad bi izrisal več funkcij na isti graf, in ker nebi rad pisal vsake posebej, bi rad naredil array vrednosti y za posamezno funkcijo - nekaj takega:

t=0;
dt=0.1;
x=0:0.01:10;

for i=1:10
    t=t+dt;
    y(i)=sin(x)*t; %napaka
end


ampak zadeva seveda ne deluje, dobim "??? In an assignment A(I) = B, the number of elements in B and I must be the same."

Kako se to potem naredi? Če napišem y=sin(x)*t; mi pa ne javi nobene napake, pa mu tud nisem povedal, koliko elementov bo imel (seveda to ni rešitev za to kar iščem).
  • spremenil: slovencl ()

kitzbrado ::

t=0;
dt=0.1;
x=0:0.01:10;
y={};

for i=1:10
t=t+dt;
y{i}=sin(x)*t;
end

EDIT: Zal sem pozabil, kako se vpise kodo, zato je format bolj ceski.

Zgodovina sprememb…

rasta ::

Problem, ki ga imaš je, da je x vektor z desetimi elementi, zato je tudi rezultat sin(x)*t vektor z desetimi elementi. Ta vektor pa ti skušaš prirediti skalarju (y(i)), zato tudi noče.

kitzbrado ::

V bistvu je problem v tem, ker on zeli prirediti te vektorje kot elemente vektorju y(i), to pa za vektorje ne gre. Prav zaradi takih zahtev ima Matlab implementirane arraye, ki sem jih uporabil v resitvi zgoraj.

Lepota arrayev je v tem, da notri lahko tlacis prakticno vse.

slovencl ::

Kaj pa je narobe s tem:
>> x=-2:0.1:2;
>> y=exp(-1/x);
??? Error using ==> mrdivide
Matrix dimensions must agree.

rasta ::

@slovencl: Uporabi ./ operator.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Matlab problem

Oddelek: Pomoč in nasveti
281440 (864) bluefish
»

matematično izrazoslovje

Oddelek: Znanost in tehnologija
161766 (1259) gzibret
»

[Matlab] Fouriereva transformacija in analiza odzivov procesa

Oddelek: Programiranje
92822 (2647) nosk8fx
»

FUNKCIJA

Oddelek: Programiranje
6793 (746) black ice
»

[matlab] solve

Oddelek: Programiranje
61183 (959) slovencl

Več podobnih tem