How can I fix error "matrix dimensions must agree" in this code?
Ältere Kommentare anzeigen
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 Kommentare
madhan ravi
am 17 Nov. 2018
because S is a scalar and X is a matrix how can you subtract them???
Oscar Nieto-Cerezo
am 17 Nov. 2018
per isakson
am 17 Nov. 2018
@madhan, "S is a scalar and X is a matrix how can you subtract them", see Compatible Array Sizes for Basic Operations
Walter Roberson
am 17 Nov. 2018
h is 601 x 1 . h-6 is the same size. max of 0 and that is the same size .
x is 100 long and y is 102 long so ndgrid of the two will make X and Y into 100 x 102.
You then try to min() between X of 100 x 102 and the result of the max at 601 x 1. Those sizes are incompatible .
What size were you expecting from the results of the min()?
madhan ravi
am 18 Nov. 2018
@Per Isakson thank you
Oscar Nieto-Cerezo
am 19 Nov. 2018
KSSV
am 19 Nov. 2018
min(b*(max(0,h-6)),Y)
The above line shows error. The dimensions of input to min re different.
Antworten (0)
Kategorien
Mehr zu Contour Plots finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!