|
Nimal |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 21.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.10.2009, 09:29
Titel: Funktion aus Matrix
|
|
Hallo.
Das Problem:
Ich habe eine Matrix (21x21) mit Werten und aus diesen möchte ich gerne eine Gleichung erstellen, wie mache ich das? Durch das Plotten sehe ich das es eine Geradengleichung sein müsste (ist nicht genau eine Gerade).
Danke, schon mal für eure Antworten!
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.10.2009, 12:02
Titel:
|
|
Hallo,
Du müsstest uns schon verraten, was ein Eintrag (i,j) der Matrix darstellt ...
Titus
|
|
|
Nimal |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 21.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.10.2009, 13:17
Titel:
|
|
|
|
|
Der Code:
Clear all;
C=400e-15;
C2=200e-15;
d=1.6e-6;
kt=1.36e-7;
m=11e-9;
g=3.45;
r1=164e-6;
r2=300e-6;
syms alpha;
alphas = zeros(21);
for Uob=-1:0.1:1
for Ukom=-1:0.1:1
sol=solve(C*Uob.^2*r1./(2*(d*(1-alpha*r1/d)^2) - C*(Uob+Ukom).^2*r1./(2*(d*(1-alpha*r1/d)^2) + C2*Uob.^2*r1./(2*(d*(1-alpha*r1/d)^2) + kt*alpha + m*g*r2
alphas(round(Uob*10+11), round(Ukom*10+11)=double(sol(1), alpha);
end
end
figure(); mesh(-1:0.1:1, -1:0.1:1, alphas)
betas=diff(alphas, 1,2)
figure(); mesh(-1:0.1:1, -1:0.1:1, betas)
das war der Code, so jetzt das Problem:
1. kann man die Gleichung lösen.?.,
bei mir werden "rootOf" und dann 7 Lösungen angegeben.
Also, ich löse die Gleichung nach "alpha" mit dem Befehl solve, dann ableiten nach Uob mit diff(sol, Uob):
Matlab sagt das es nicht darstelbar ist mehr als 25.000 stellen.
Dann möchte ich die Nullstelle der Ableitung finden über Ukom, aber in dem Befehl "fzero" kann ich keine syms-Variabeln eingeben.
Wenn ihr schon einen Lösungsvorschlag habt zur 1. Frage dann ist die 2. Frage ohne Bedeutung:
2. Also habe ich versucht das ganze Grapfisch zu lösen, aber die Schritte sind 0.1 und Werte die dazwischen liegen wie 0.35 kann ich schon nicht mehr Auswerten, daher dachte ich zu fitten, aber leider finde ich keinen Sytax mit dem man Matrixe fitten kann.
Habt ihr da eine Lösung oder einen Vorschlag?
Danke schon mal im Voraus.
[/code]
|
|
|
Nimal |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 21.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.10.2009, 13:29
Titel:
|
|
PS: Wollte die syms-Variabele Convertieren, aber in double geht das nicht. Was für Möglichkeiten gibt es da noch?
|
|
|
Andy386 |
Forum-Guru
|
|
Beiträge: 485
|
|
|
|
Anmeldedatum: 24.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.1/8
|
|
|
|
|
|
Verfasst am: 19.10.2009, 22:34
Titel:
|
|
wohin willst du die Matrix denn fitten ?
Polynom ? -> polyfitn (im Mathworks FileExchange suchen)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|