Variable not saving as a double

Hi All,
I need mutiple values for x for a range of t, it is only keeping the last variable, What do I do?
Here is my code
for t = 0:1:100
x = (0.5exp(2*sin(t)))/(10.5*exp(2*sin(t)));
end
Thank you

 采纳的回答

You mean
t = 0:1:100;
x = 0.5*exp(2*sin(t))./(10.5*exp(2*sin(t)));
plot(t,x)
(which is equal to 0.5/10.5=0.04761... because exp(2*sin(t)) cancels out) ?

3 个评论

Sorry there was a typo, this is my full code
I need to plot x againts M
t = 0:1:100;
u = 1;
v = 1;
A = 0.1
for t = 0:1:100
x = (A.*exp(u.*sin(t)))/(1+A.*exp(u.*sin(t)))
end
M = (1+v.*cos(t).*A.*exp(u.*sin(t))+v.*cos(t)-1)/(1+A.*exp(u.*sin(t)));
figure
plot(M,x)
I am getting nothing on the graph.
You should avoid using the / operator, except possibly for the case of dividing by a literal constant. The / operator is not the division operator: it is the matrix division operator, with A/B being similar to A*pinv(B) or similar to least-squares regression. Use ./ for the division operator
I would suggest to you that in the cases where you really do want to use matrix division or matrix least-squares that instead of A/B that you use (B'\A')' instead -- the use of \ emphasizes the matrix operation.
t = 0:1:100;
u = 1;
v = 1;
A = 0.1
A = 0.1000
x = (A.*exp(u.*sin(t))) ./ (1+A.*exp(u.*sin(t)))
x = 1×101
0.0909 0.1883 0.1989 0.1033 0.0448 0.0369 0.0703 0.1617 0.2119 0.1312 0.0549 0.0355 0.0552 0.1321 0.2122 0.1608 0.0698 0.0368 0.0451 0.1041 0.1995 0.1876 0.0902 0.0411 0.0389 0.0805 0.1765 0.2065 0.1159 0.0490
M = (1+v.*cos(t).*A.*exp(u.*sin(t))+v.*cos(t)-1) ./ (1+A.*exp(u.*sin(t)));
figure
plot(M,x)
It Works,
Amazing, Thank you

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

产品

版本

R2022b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by