Code for an equation

1 visualizzazione (ultimi 30 giorni)
Malik Sheraz  Nazam
Malik Sheraz Nazam il 23 Lug 2019
Modificato: Adam Danz il 26 Lug 2019
I want to plot y = (3.5^(-.5x))*cos(6x) for x= -2 to x= 4 with interval of 0.01 without using for loop.
Following is the code I am writing:
clc
x = [-2:.01:4];
y = (3.5.^(-.5*x))*(cos(6*x));
plot(x,y);
But I recieve this error
Error using *
Inner matrix dimensions must agree.

Risposta accettata

Aviel Moos
Aviel Moos il 23 Lug 2019
Modificato: Aviel Moos il 23 Lug 2019
You need to use elementwise multimplication.
let look at this:
A = (3.5.^(-.5*x)); % Here you will get a vector with 601 elements
B = (cos(6*x)); % Here you will get also a vector with 601 elements
You cannot just multiply, You need to multiplay each element in place K of A with element in place K of B.
So just replace:
y = (3.5.^(-.5*x))*(cos(6*x));
with this:
y = (3.5.^(-.5*x)).*(cos(6*x));

Più risposte (2)

Adam Danz
Adam Danz il 23 Lug 2019
y = (3.5.^(-.5*x)).*(cos(6*x));
% ^ dot
  7 Commenti
Malik Sheraz  Nazam
Malik Sheraz Nazam il 26 Lug 2019
I wish I had option to accept all the answer.
You both made life easier for me.
Thanks :D
Adam Danz
Adam Danz il 26 Lug 2019
Modificato: Adam Danz il 26 Lug 2019
I'm just here and help out and learn a lot in the process. Accepted answers and votes are quantitative measures of skill but your appreciation is the qualitative feedback that has a longer lasting positive effect.

Accedi per commentare.


madhan ravi
madhan ravi il 23 Lug 2019

Community Treasure Hunt

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

Start Hunting!

Translated by