Error using * (Inner matrix dimensions must agree)

1 回表示 (過去 30 日間)
Dan
Dan 2013 年 11 月 25 日
コメント済み: dpb 2013 年 11 月 26 日
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 Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by