How to do the following matrix multiplication and division?

I have Frequency as a 22x1 column vector, and the following equation must produce 22x1 column vector [all other variables are scalars]
Lorentz_Imaginary_conductivity = DC_Conductivity * ((time * Frequency .* (1 - Oscillator_frequency^2 / Frequency.^2)) ...
./ (1 + (time .* Frequency .* (1 - Oscillator_frequency^2 ./ Frequency.^2)).^2));
But instead it gives 22x22 matrix. What is the problem here?

 Risposta accettata

(1 - Oscillator_frequency^2 / Frequency.^2))
this slash needs to be a './' or it's interpreted as a matrix inverison... htat's where your 22x22 is coming from

3 Commenti

Not technically a matrix inverse or a matrix inversion there, but it will be interpreted as an operation using linear algebra where a linear system of equaions will be solved, instead of an element-wise divide. So, yes. Use ./ for the proper result.
Yea, That worked. Thank you very much
my bad for being sloppy. this is not technically a matrix inversion of course. most control/inverse problem folks that i know conisider 'scalar divided by a vector' an inverison (e.g. of a moment), at least conceputally.

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by