I am trying to plot the each value of C at different theta values, but I found an error. Error: Invalid expression. When calling a function or indexing a variable, use parenth

1 次查看(过去 30 天)
clear all
clc
c=[0.5,0.75,1,1.1];
theta=[-pi:0.01:pi];
a=zeros(1,629);
for k=c
G(k)=(1+4*(a(k)).^2-a(k)).*(sin(theta/2)).^2);
plot(G(k),theta);
end
  3 个评论
Walter Roberson
Walter Roberson 2022-12-5
Are you trying to define G as being a piecewise formula? Or is G to be a matrix of values? Matrices need to be indexed with positive integers.

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2022-12-5
you have too many ) on that line.

Alan Stevens
Alan Stevens 2022-12-5
Do you want something more along the following lines?
c=[0.5,0.75,1,1.1];
theta=-pi:0.01:pi;
%a=zeros(1,629);
for k=1:numel(c) % numel is number of elements in c
% There are four values of c and all the a's are zero
% so I've replaced a by c in the following.
G(k,:)=(1+4*c(k).^2-c(k)).*sin(theta/2).^2;
end
plot(theta,G);
xlabel('\theta'), ylabel('G')

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by