Error using * (Inner matrix dimensions must agree)

1 visualizzazione (ultimi 30 giorni)
Dan
Dan il 25 Nov 2013
Commentato: dpb il 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

Risposta accettata

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

Più risposte (3)

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

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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by