Code for an equation

2 visualizzazioni (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

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by