Plotting an equation raised to a variable.
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello, I am trying to plot an equation that has a variable as an exponent, but I am getting errors that the matrix dimensions must agree. Is there a specific way in matlab that this has to be done for it to graph? Any help would be appreciated, thanks in advance.
n = 0:2:10;%first 6 non-zero derivatives
a_n = 12*(40).^n.*((-1).^(n/2))./(factorial(n));%first 6 non-zero terms
% Functions to plot
t = linspace(0,0.2,400);%select points in the range to plot
fun1 = a_n(1)*t.^0;%n=0
%Want to implement fun1 like this but that is having errors.
fun1 = a_n(1)*(t.^(n))
댓글 수: 2
답변 (1개)
Ridwan Alam
2019년 12월 15일
편집: Ridwan Alam
2019년 12월 17일
fun1 = a_n(1)*(t.^(n))
.^ is a pointwise (elementwise) operation, that means it operates on arrays of same length or one of the operator needs to be an scalar. In your code, length(n) is 6 and length(t) is 400. Hence, the error is thrown.
I assume you are looking for something like this:
fun1 = a_n(1)*(t.^(n(1)));
plot(t,fun1); hold on;
fun2 = a_n(2)*(t.^(n(2)));
plot(t,fun2);
But if you really want to variables on the right side of fun1, you can make t the same size of n:
t = linspace(0,0.2,length(n));
fun1 = a_n(1)*(t.^(n)); % now n and t are arrays of same size
Hope this helps.
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!