A problem with differentiating
Afficher commentaires plus anciens
I want to differentiate detk to f.But after I run it,my matrix c is empty. Can anyone tell me what is wrong? Thanks!
f = 0.001;
x = 1:f:5;
w = 2*pi*x;
k = [cos(w), 0; 0, cos(w) ];
detk = k(1,1)*k(2,2)-k(2,1)*k(1,2);
c = diff(detk)/f;
plot(x,detk,x,[0 c],'r:')
Réponses (1)
per isakson
le 10 Mai 2014
Modifié(e) : per isakson
le 10 Mai 2014
detk is evaluated to a scalar and thus c will be empty.
I find it easier to debug functions than scripts. Thus, I created a function, cssm. Next I set a break point at the line, w = 2*pi*x;, and stepped through the remaining lines. The values of the variables may be inspected in many ways. I kept an eye on the Workspace window while stepping.
function cssm
f = 0.001;
x = 1:f:5;
w = 2*pi*x;
k = [cos(w), 0; 0, cos(w) ];
detk = k(1,1)*k(2,2)-k(2,1)*k(1,2);
c = diff(detk)/f;
plot( x,detk, x,[0 c], 'r:' )
end
Here are some links on debugging in Matlab
Catégories
En savoir plus sur App Building dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!