Matlab Introduction Course for Undergrads

Hey, I have following function
x = linspace(-0.5,0.5);
y = linspace(-0.5,0.5);
[X,Y] = meshgrid(x,y);
V = 4*(((exp(-20*(((X-0.25)^2) + (Y-0.25)^2)))) + exp(-20*(((X-0.25)^2 + (Y-0.75)^2))) + exp(-20*(((X-0.75)^2 + (Y-0.5)^2))));
figure
contour(X,Y,V,'ShowText','on')
I want to display the function text so I can debug, because Matlab only outputs arrays with zeros. So something is wrong with how I typed in the function.
i.e
Is this possible in MATLAB 2016b?
Thank you

5 comentarios

Adam
Adam el 23 de Sept. de 2016
Simplest option would probably be to split it across a number of lines with intermediate variables. Maths all on one line with so many brackets may look neat and space-saving, but it can be more trouble than it is worth when it doesn't work correctly.
Stephen23
Stephen23 el 23 de Sept. de 2016
@Hakan Ole Ensrud Abediy: Splitting this onto several intermediate calcaultions, exactly as Adam has suggested, will be the simplest answer. Then you can check (by hand) that each intermediate step is correct.
José-Luis
José-Luis el 24 de Sept. de 2016
Apparently, live script will prettify whatever equation you insert. That could be another way to check.
Especially useful if you are familiar with Latex.
Rena Berman
Rena Berman el 14 de Sept. de 2017
(Answers Dev) Restored edit
Rena Berman
Rena Berman el 26 de Dic. de 2017
(Answers Dev) Restored edit

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 24 de Sept. de 2016

0 votos

Your bug is that you used the ^ operator instead of the .^ operator. For a square matrix Z, Z^2 is Z*Z, the matrix algebraically multiplied by itself, whereas you want Z.*Z, which is each element multiplied by itself.
shegaw mamo
shegaw mamo el 16 de Ag. de 2019

0 votos

function dx = cancerhealthcells(~, x)
dx = [2; 1];
L=15;
ommega=50
alpha1 = 0.1;
alpha2 = 0.45;
kappa1 = 0.65;
kappa2 = 1;
beta1 = 0.11;
beta2 = 0.15;
epsilon = 0.05;
gamma = 0.35;
dx(1) = alpha1*x(1)-alpha1*x(1).^2./kappa1-beta1*x(1)*x(2)-epsilon*gamma*x(1);
dx(2) = alpha2*x(2)-alpha2*x(2).^2./kappa2-beta2*x(1)*x(2)-gamma*x(2);
Question: Ommega and L are not in the system of equation. How we can develop matlab syntax including ommega and L using ode45?

1 comentario

Walter Roberson
Walter Roberson el 16 de Ag. de 2019
What leads you to expect that they should be present?

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 23 de Sept. de 2016

Comentada:

el 16 de Ag. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by