How can I specify the dimension of a differentiated function?
Show older comments
I am getting error when I tried to find h_w_net and the error is "Matrix dimensions must agree" at the last line.
The dimension of k_r=500 by 1, PTC=500 by 500, theta=1 by 500. After I differentiated theta (rep by theta_diff) its dimension is 1 by 200.
How can I make dimension of theta_diff 1 by 500?
Thanks
%Here is the code
T=300;
theta = h_bar*w ./ ( exp( (h_bar*w)/(k_B*T) ) - 1 ) ;
theta_diff=diff(theta,T);
%Thermal conductance calculation
h_w_net= (1/4*pi^2) *theta_diff.* k_r .* PTC ;
2 Comments
Did you really intend to take the 300th derivative? I get the impression you don't really understand what the diff function is doing.
When you put in an array, if will calculate the difference between subsequent values. So it doesn't really find the derivative, as it find the numerical approximation of the derivative on the midpoints.
x = [1 2 3];
y = [7 3 6];
diff(y),corresponding_x=mean([x(1:(end-1)) ; x(2:end)])
Ambali Odebowale
on 27 Jan 2023
Edited: Ambali Odebowale
on 27 Jan 2023
Answers (2)
Walter Roberson
on 27 Jan 2023
0 votes
diff() is generally successive differences. It is only derivative if the first parameter is sym or symfun, both from the Symbolic Toolbox
Ambali Odebowale
on 27 Jan 2023
Moved: Walter Roberson
on 27 Jan 2023
0 votes
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!