Plotting an equation raised to a variable.

조회 수: 2 (최근 30일)
Adam Hermon
Adam Hermon 2019년 12월 14일
편집: Ridwan Alam 2019년 12월 17일
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
Ridwan Alam
Ridwan Alam 2019년 12월 14일
what is a_n(1) and t? I am assuming your n is the variable array, right?
Adam Hermon
Adam Hermon 2019년 12월 14일
Hey, thanks for your reply, I should have made that clearer. a_n is a general expression and n is the array of values I need to use. I know the first function can just be written as a_n(1)*t^n, but it doesn't work as like when I use zero.
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

댓글을 달려면 로그인하십시오.

답변 (1개)

Ridwan Alam
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.

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by