A problem with differentiating

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:')

Respuestas (1)

per isakson
per isakson el 10 de Mayo de 2014
Editada: per isakson el 10 de Mayo de 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

Categorías

Más información sobre App Building en Centro de ayuda y File Exchange.

Preguntada:

el 10 de Mayo de 2014

Editada:

el 10 de Mayo de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by