for loop not working????

fidelities value does not change with different values of r.
i'm trying to get the different values of fidelity with different r values,and plot(fidelity,r).

1 Comment

No, for loop is not working because the number sequence is not recognized as a column vector.
for r=0.01;0.02;0.03;0.04;0.05;0.06;0.07;0.08;0.09;0.10;
r
end
r = 0.0100
But this fixing does not work as you expected:
for r = [0.01;0.02;0.03;0.04;0.05;0.06;0.07;0.08;0.09;0.10;]
r
end
r = 10×1
0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000
It can be fixed as following:
for r = 0.01:0.01:0.1 % or r = [0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10]
r
end
r = 0.0100
r = 0.0200
r = 0.0300
r = 0.0400
r = 0.0500
r = 0.0600
r = 0.0700
r = 0.0800
r = 0.0900
r = 0.1000

Sign in to comment.

Answers (1)

Bhanu Prakash
Bhanu Prakash on 17 Mar 2023
Edited: Bhanu Prakash on 17 Mar 2023
Hi Abu,
As per my understanding, you are facing some errors with the "for" loop.
Consider the line below:
plot(fidelity,r);
For the "plot" function to work, "r" must be of the same size as "fidelity", i.e., 1x15. If not, it throws an error.
To make "r" to be of size 1x15, the function "linspace" can be used.
I have made some changes in the code and the edited part of the code is attached below:
% Define the commutator of E and F
R_1 = E-F ;
r=linspace(0.01,0.1,15)
% Compute the exponential of R_1
for r_m=r
U = exp(0.01*(R_1));
With the help of "linspace", 15 equally spaced values are assigned to the matrix "r" and the "for" loop runs for 15 times, which is the size of "r".
You can refer to the documentation of "linspace" and "plot" functions, for more info:
Hope this answer helps you.
Thanks,
Bhanu Prakash.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Asked:

on 17 Mar 2023

Edited:

on 17 Mar 2023

Community Treasure Hunt

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

Start Hunting!