Implementing an equation in Matlab
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I am trying to implement an equation in a form like, if a*b<1 then, x=-b/N otherwise x=0, where N= size of a. The equation is simple, but the data I recieve for a and b are differnt formet. a is a 4-d numeric array and b is a categorical array. Would you please suggest me how could I implement this equation?
Sample Input
a= val(:,:,1,1)=0.55
val(:,:,2,1)=0.45
val(:,:,1,2)=0.67
val(:,:,2,2)=0.33
b=
0
1
I have tried to solve it my way like following:
[m,n,o,p]=size(a,4);
x=zeros(m,n,o,p);
c=double(string(categorical(b)));
for i=1:p
for j=1:o
mul=c(i)*a(:,:,j,i);
if(mul<1)
x(:,:,j,i)=-c(i)/p;
else
x(:,:,j,i)=0;
end
end
end
Is it the right way to solve the equation?
5 Kommentare
darova
am 28 Jun. 2019
If mul is a variable (1x1) your above code is OK.
mul=c(i)*a(:,:,j,i);
Also you don't have to use else statement because x matrix is already zeros
Antworten (0)
Siehe auch
Kategorien
Mehr zu Random Number Generation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!