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 view (last 30 days)
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 Comments
Walter Roberson
Walter Roberson on 5 Dec 2022
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.

Sign in to comment.

Answers (2)

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

Alan Stevens
Alan Stevens on 5 Dec 2022
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')

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!