How can I fix error "matrix dimensions must agree" in this code?

1 view (last 30 days)
pd=makedist('normal', 'mu', 4.5, 'sigma', 1.25);
rang(1)
h=random(pd, 601,1);
b=5;
c:0.05;
S=1000;
betas=0.5;
betao=0.7;
y=linspace(0, 60, 100);
x=linspace(0, 60, 102);
[X,Y]=meshgrid(x,y);
Z=(sum((S-X+min(b*(max(0,h-6)),Y)-b*(max(0,h-6))).^(1-betao))/(1-betao))/lenght(h)...
+(0.7*sum(((X-(c\2)*6^2-min(b*(max(0,h-6)),Y)).^(1-betas))/(1-betas))/lenght(h)));
[X,Y,Z]=peaks;
contour(X,Y,Z,20)
  7 Comments
Oscar Nieto-Cerezo
Oscar Nieto-Cerezo on 19 Nov 2018
@Walter Roberson, thank you very much for taking time to comment on this. As you mention in your post, by sizing the min at 100 x 100 and the max at 100 x 1 would solve the error "Matrix dimensions agree". Then a second error appears in relation to the size of Z "Z must be a matrix, not a scalar or vector". That can be solved by taking the non-random parameters outside the integral. This allows me to create a 3D plot with surf.
KSSV
KSSV on 19 Nov 2018
min(b*(max(0,h-6)),Y)
The above line shows error. The dimensions of input to min re different.

Sign in to comment.

Answers (0)

Tags

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!