Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

brauche mal schnell hilfe mit matlab

Schule, Ausbildung, Studium, Beruf, Erster und Zweiter Bildungsweg, etc.
Antworten
Nomschta
Rampage
Rampage
Beiträge: 14303
Registriert: Jun 2001
Steam: TomHonks

brauche mal schnell hilfe mit matlab

Beitrag von Nomschta »

Code: Alles auswählen

clc;
clear all;

time_vector = linspace(0,4,400);
[X,fs] = zufall([0 pi/2 pi 3*pi/2],30);
subplot(221), plot(time_vector, X(1,1:400)), title('Theta = 0'), xlabel('t in ms'), grid on;
subplot(222), plot(time_vector, X(2,1:400)), title('Theta = pi/2'), xlabel('t in ms'), grid on;
subplot(223), plot(time_vector, X(3,1:400)), title('Theta = pi'), xlabel('t in ms'), grid on;
subplot(224), plot(time_vector, X(4,1:400)), title('Theta = 3/2 pi'), xlabel('t in ms'), grid on;

values_to_show = [0.01 0.5 1.25 2.2 3.4];
result = zeros(6,5);
%ein wert sind 10us
for time=1:5;
    for ntheta=1:4;
        result(ntheta,time) = X(ntheta,values_to_show(time)*100);
    end;
end;

Code: Alles auswählen

??? Attempted to access X(1,220); index must be a positive integer or logical.

Error in ==> matlabzeugs at 16
        result(ntheta,time) = X(ntheta,values_to_show(time)*100)
 
>> X(1,220)

ans =

    0.3681
hä?

€: hat sich erledigt. hab zwar keine ahnung worans lag aber habs anders gelöst :ugly:
BildBild Danke an Drasora für ihr Wichtelgeschenk!
MAR hat geschrieben:Führt der durch den Terrence-Hill? :ugly:
xxx
Bones
Bones
Beiträge: 3074
Registriert: Aug 2003
Kontaktdaten:

Beitrag von xxx »

Bild
whatever
Doom
Doom
Beiträge: 3681
Registriert: Mai 2001

Beitrag von whatever »

Monschta hat geschrieben:

Code: Alles auswählen

[...]
values_to_show = [0.01 0.5 1.25 2.2 3.4];
[...]
X(ntheta,values_to_show(time)*100);
[...]
Gaaanz schlechte Idee: Nur weil (2.2*100) mathematisch eine ganze Zahl ist, muss das numerisch noch lange nicht der Fall sein.
Schreib einfach gleich die richtigen Integer-Indizes in dein values_to_show, damit sparst du dir dann auch gleich noch die Multiplikationen. Falls du doch aus irgendwelchen obskuren Gründen an dieser Stelle Gleitkommazahlen benötigst, solltest du vor der Verwendung als Index round() drauf werfen. Effizient ist das dann aber nicht mehr.
Antworten