Error using * (Inner matrix dimensions must agree)

1 次查看(过去 30 天)
This is what I have so far
if true
clear all;
clc;
close all;
t=(-.5:1*exp(-6):2);
f=6*exp(-1.5*t)*cos(8*3.14*t);
F=input('Enter a particular value for f(t): ');
Figure 1;
Plot (f,t,'r',F,t,'g');
grid on;
hold on;
end
I know my problem is at the f= line, what am I doing wrong with the *? Thanks

采纳的回答

dpb
dpb 2013-11-25
doc times % or '.*'
will answer all...

更多回答(3 个)

Dan
Dan 2013-11-25
Thanks guys, for the same code I need to determine the number of times f(t) crosses the line y(t)=F using a while- end statement.
f(t) being f=6*exp(-1.5*t).*cos(8*3.14*t); and F being the input from the user.
I am not really sure how to write this? Pretty sure I am over thinking it.

Matt J
Matt J 2013-11-25
f=6*exp(-1.5*t).*cos(8*3.14*t);

Dan
Dan 2013-11-25
Can I do something like
if true%
x = f;
while x >= F
disp(x)
x = x + 1;
end
  1 个评论
dpb
dpb 2013-11-26
Not quite...the initialization sets x to the full vector of f so the while will be a vector and if F is > any value at all in f the condition will never evaluate to T.
Is it mandatory to use while? If not, consider what
diff(x>=F)
yields and how one might use something of that nature.
Note that in your sample loop, even if you set
x=f(1);
as the initialization the while doesn't work as you need and even if it did it doesn't find the crossing points.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by