Error using * (Inner matrix dimensions must agree)

1 vue (au cours des 30 derniers jours)
Dan
Dan le 25 Nov 2013
Commenté : dpb le 26 Nov 2013
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

Réponse acceptée

dpb
dpb le 25 Nov 2013
doc times % or '.*'
will answer all...

Plus de réponses (3)

Dan
Dan le 25 Nov 2013
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 le 25 Nov 2013
f=6*exp(-1.5*t).*cos(8*3.14*t);

Dan
Dan le 25 Nov 2013
Can I do something like
if true%
x = f;
while x >= F
disp(x)
x = x + 1;
end
  1 commentaire
dpb
dpb le 26 Nov 2013
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.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by