Tag Archives: matlab
Automatic Nuclei Count tif stacks
I am using this borrowed code to automatically count DAPI stained nuclei:
Hs.dirPath = pwd;
[Hs.dataFiles,Hs.dataNums] = getDataFiles(Hs.dirPath);
[Hs.foundChannels,Hs.fileNums,Hs.imgExts] = getImageFiles(Hs.dirPath);
for i = 1:length(Hs.fileNums)
Hs.fileNum = Hs.fileNums(i);
fileName = [‘dapi’ sprintf(‘%03d’,Hs.fileNum) ‘.tif’];
Hs.DI = readmm(fileName);
Hs.DI = Hs.DI.imagedata;
Hs.DI = scale(max(Hs.DI(:,:,round(linspace(10,size(Hs.DI,10),50))),[],3));
binDapi = Hs.DI>adaptthresh(Hs.DI);
masktmp = imclearborder(binDapi | ~Hs.DI);
masktmp = bwareaopen(masktmp,50);
if any(masktmp(:))
binDapi = masktmp;
end
L = bwlabel(binDapi);
numObjects = max(L,[],1:2);
Hs.currObjs = [];
Hs.allMasks = [];
for j = 1:numObjects
fnumStr = sprintf(‘%03d’,Hs.fileNum);
objMask = L == j;
newObj = improc2.buildImageObject(objMask, fnumStr, Hs.dirPath);
Hs.currObjs = [Hs.currObjs, newObj];
Hs.allMasks = cat(3,Hs.allMasks,objMask);
end
objects = Hs.currObjs;
save(sprintf(‘%s%sdata%03d.mat’,Hs.dirPath,filesep,Hs.fileNum),’objects’);
[Hs.dataFiles,Hs.dataNums] = getDataFiles(Hs.dirPath);
clear objects;
Hs.currObjs = [];
end
It ends up fusing nuclei that are on different planes. In the image shown here (Matlab Output on the left and original on the right)there should be 14 nuclei but 1 and 6, 2 and 5 and 3 and 7 end up being counted as the same.
I have tried changing the threshold etc. but it does not help with the stacks.
Any suggestions to modify the code? Thanks.I am using this borrowed code to automatically count DAPI stained nuclei:
Hs.dirPath = pwd;
[Hs.dataFiles,Hs.dataNums] = getDataFiles(Hs.dirPath);
[Hs.foundChannels,Hs.fileNums,Hs.imgExts] = getImageFiles(Hs.dirPath);
for i = 1:length(Hs.fileNums)
Hs.fileNum = Hs.fileNums(i);
fileName = [‘dapi’ sprintf(‘%03d’,Hs.fileNum) ‘.tif’];
Hs.DI = readmm(fileName);
Hs.DI = Hs.DI.imagedata;
Hs.DI = scale(max(Hs.DI(:,:,round(linspace(10,size(Hs.DI,10),50))),[],3));
binDapi = Hs.DI>adaptthresh(Hs.DI);
masktmp = imclearborder(binDapi | ~Hs.DI);
masktmp = bwareaopen(masktmp,50);
if any(masktmp(:))
binDapi = masktmp;
end
L = bwlabel(binDapi);
numObjects = max(L,[],1:2);
Hs.currObjs = [];
Hs.allMasks = [];
for j = 1:numObjects
fnumStr = sprintf(‘%03d’,Hs.fileNum);
objMask = L == j;
newObj = improc2.buildImageObject(objMask, fnumStr, Hs.dirPath);
Hs.currObjs = [Hs.currObjs, newObj];
Hs.allMasks = cat(3,Hs.allMasks,objMask);
end
objects = Hs.currObjs;
save(sprintf(‘%s%sdata%03d.mat’,Hs.dirPath,filesep,Hs.fileNum),’objects’);
[Hs.dataFiles,Hs.dataNums] = getDataFiles(Hs.dirPath);
clear objects;
Hs.currObjs = [];
end
It ends up fusing nuclei that are on different planes. In the image shown here (Matlab Output on the left and original on the right)there should be 14 nuclei but 1 and 6, 2 and 5 and 3 and 7 end up being counted as the same.
I have tried changing the threshold etc. but it does not help with the stacks.
Any suggestions to modify the code? Thanks. I am using this borrowed code to automatically count DAPI stained nuclei:
Hs.dirPath = pwd;
[Hs.dataFiles,Hs.dataNums] = getDataFiles(Hs.dirPath);
[Hs.foundChannels,Hs.fileNums,Hs.imgExts] = getImageFiles(Hs.dirPath);
for i = 1:length(Hs.fileNums)
Hs.fileNum = Hs.fileNums(i);
fileName = [‘dapi’ sprintf(‘%03d’,Hs.fileNum) ‘.tif’];
Hs.DI = readmm(fileName);
Hs.DI = Hs.DI.imagedata;
Hs.DI = scale(max(Hs.DI(:,:,round(linspace(10,size(Hs.DI,10),50))),[],3));
binDapi = Hs.DI>adaptthresh(Hs.DI);
masktmp = imclearborder(binDapi | ~Hs.DI);
masktmp = bwareaopen(masktmp,50);
if any(masktmp(:))
binDapi = masktmp;
end
L = bwlabel(binDapi);
numObjects = max(L,[],1:2);
Hs.currObjs = [];
Hs.allMasks = [];
for j = 1:numObjects
fnumStr = sprintf(‘%03d’,Hs.fileNum);
objMask = L == j;
newObj = improc2.buildImageObject(objMask, fnumStr, Hs.dirPath);
Hs.currObjs = [Hs.currObjs, newObj];
Hs.allMasks = cat(3,Hs.allMasks,objMask);
end
objects = Hs.currObjs;
save(sprintf(‘%s%sdata%03d.mat’,Hs.dirPath,filesep,Hs.fileNum),’objects’);
[Hs.dataFiles,Hs.dataNums] = getDataFiles(Hs.dirPath);
clear objects;
Hs.currObjs = [];
end
It ends up fusing nuclei that are on different planes. In the image shown here (Matlab Output on the left and original on the right)there should be 14 nuclei but 1 and 6, 2 and 5 and 3 and 7 end up being counted as the same.
I have tried changing the threshold etc. but it does not help with the stacks.
Any suggestions to modify the code? Thanks. image processing, image analysis MATLAB Answers — New Questions
How to use ode15s to solve a stiff ode with mass?
Now I get a matlab code using ode15s to solve a function with singular Mass. My question is:
what does it mean (there is no function called ‘M’ in my dir)
opts = odeset(‘Mass’, ‘M’, ‘MassSingular’, ‘yes’);
and why in the ode function, there is an extra input called ‘flag’ ?
The main code is as following:
tf = 200;
x0 = [0 0 0 0 2500 0 0.8 0 50 50 50 50 5];
opts = odeset(‘Mass’, ‘M’, ‘MassSingular’, ‘yes’);
[t, x] = ode15s(‘ff’, [0 tf], x0,opts);
function xdot=Methanol_Water(t,x)
if isempty(flag),
P=1;
x1=x(1);
x2=x(2);
x3=x(3);
x4=x(4);
x0=x(6);
xB=x(7);
T1=x(9);
T2=x(10);
T3=x(11);
T4=x(12);
TB=x(13);
D1=-4617.8;
C1=13.676;
D2=-5042.6;
C2=13.519;
A=0.85;
B=0.48;
R=10;
V=10;
Di=V/(R+1);
L=V-Di;
y1=exp(A*(1-x1^2)/(1-x1+A*x1/B)^2)*exp(C1+D1/(273.15+T1))*x1/P;
y2=exp(A*(1-x2^2)/(1-x2+A*x2/B)^2)*exp(C1+D1/(273.15+T2))*x2/P;
y3=exp(A*(1-x3^2)/(1-x3+A*x3/B)^2)*exp(C1+D1/(273.15+T3))*x3/P;
y4=exp(A*(1-x4^2)/(1-x4+A*x4/B)^2)*exp(C1+D1/(273.15+T4))*x4/P;
yB=exp(A*(1-xB^2)/(1-xB+A*xB/B)^2)*exp(C1+D1/(273.15+TB))*xB/P;
MH0=100;
MH=20;
xdot(1)=1/MH*(L*(x0-x1)+V*(y2-y1));
xdot(2)=1/MH*(L*(x1-x2)+V*(y3-y2));
xdot(3)=1/MH*(L*(x2-x3)+V*(y4-y3));
xdot(4)=1/MH*(L*(x3-x4)+V*(yB-y4));
xdot(5)=L-V;
xdot(6)=(V/MH0*y1-(L+Di)/MH0*x0);
xdot(7)=(L*(x4-xB)-V*(yB-xB));
xdot(8)=Di;
xdot(9)=P-exp(A*(1-x1^2)/(1-x1+A*x1/B)^2)*exp(C1+D1/(273.15+T1))*x1-exp(A*x1^2/(x1+A*(1-x1)/B)^2)*exp(C2+D2/(273.15+T1))*(1-x1);
xdot(10)=P-exp(A*(1-x2^2)/(1-x2+A*x2/B)^2)*exp(C1+D1/(273.15+T2))*x2- exp(A*x2^2/(x2+A*(1-x2)/B)^2)*exp(C2+D2/(273.15+T2))*(1-x2);
xdot(11)=P-exp(A*(1-x3^2)/(1-x3+A*x3/B)^2)*exp(C1+D1/(273.15+T3))*x3-exp(A*x3^2/(x3+A*(1-x3)/B)^2)*exp(C2+D2/(273.15+T3))*(1-x3);
xdot(12)=P-exp(A*(1-x4^2)/(1-x4+A*x4/B)^2)*exp(C1+D1/(273.15+T4))*x4- exp(A*x4^2/(x4+A*(1-x4)/B)^2)*exp(C2+D2/(273.15+T4))*(1-x4);
xdot(13)=P-exp(A*(1-xB^2)/(1-xB+A*xB/B)^2)*exp(C1+D1/(273.15+TB))*xB- exp(A*xB^2/(xB+A*(1-xB)/B)^2)*exp(C2+D2/(273.15+TB))*(1-xB);
xdot = xdot(:);
else
M = zeros(13,13);
M(1,1) = 1;
M(2,2) = 1;
M(3,3) = 1;
M(4,4) = 1;
M(5,5) = 1;
M(6,6) = 1;
M(7,7) = x(5);
M(8,8) = 1;
xdot = M;
endNow I get a matlab code using ode15s to solve a function with singular Mass. My question is:
what does it mean (there is no function called ‘M’ in my dir)
opts = odeset(‘Mass’, ‘M’, ‘MassSingular’, ‘yes’);
and why in the ode function, there is an extra input called ‘flag’ ?
The main code is as following:
tf = 200;
x0 = [0 0 0 0 2500 0 0.8 0 50 50 50 50 5];
opts = odeset(‘Mass’, ‘M’, ‘MassSingular’, ‘yes’);
[t, x] = ode15s(‘ff’, [0 tf], x0,opts);
function xdot=Methanol_Water(t,x)
if isempty(flag),
P=1;
x1=x(1);
x2=x(2);
x3=x(3);
x4=x(4);
x0=x(6);
xB=x(7);
T1=x(9);
T2=x(10);
T3=x(11);
T4=x(12);
TB=x(13);
D1=-4617.8;
C1=13.676;
D2=-5042.6;
C2=13.519;
A=0.85;
B=0.48;
R=10;
V=10;
Di=V/(R+1);
L=V-Di;
y1=exp(A*(1-x1^2)/(1-x1+A*x1/B)^2)*exp(C1+D1/(273.15+T1))*x1/P;
y2=exp(A*(1-x2^2)/(1-x2+A*x2/B)^2)*exp(C1+D1/(273.15+T2))*x2/P;
y3=exp(A*(1-x3^2)/(1-x3+A*x3/B)^2)*exp(C1+D1/(273.15+T3))*x3/P;
y4=exp(A*(1-x4^2)/(1-x4+A*x4/B)^2)*exp(C1+D1/(273.15+T4))*x4/P;
yB=exp(A*(1-xB^2)/(1-xB+A*xB/B)^2)*exp(C1+D1/(273.15+TB))*xB/P;
MH0=100;
MH=20;
xdot(1)=1/MH*(L*(x0-x1)+V*(y2-y1));
xdot(2)=1/MH*(L*(x1-x2)+V*(y3-y2));
xdot(3)=1/MH*(L*(x2-x3)+V*(y4-y3));
xdot(4)=1/MH*(L*(x3-x4)+V*(yB-y4));
xdot(5)=L-V;
xdot(6)=(V/MH0*y1-(L+Di)/MH0*x0);
xdot(7)=(L*(x4-xB)-V*(yB-xB));
xdot(8)=Di;
xdot(9)=P-exp(A*(1-x1^2)/(1-x1+A*x1/B)^2)*exp(C1+D1/(273.15+T1))*x1-exp(A*x1^2/(x1+A*(1-x1)/B)^2)*exp(C2+D2/(273.15+T1))*(1-x1);
xdot(10)=P-exp(A*(1-x2^2)/(1-x2+A*x2/B)^2)*exp(C1+D1/(273.15+T2))*x2- exp(A*x2^2/(x2+A*(1-x2)/B)^2)*exp(C2+D2/(273.15+T2))*(1-x2);
xdot(11)=P-exp(A*(1-x3^2)/(1-x3+A*x3/B)^2)*exp(C1+D1/(273.15+T3))*x3-exp(A*x3^2/(x3+A*(1-x3)/B)^2)*exp(C2+D2/(273.15+T3))*(1-x3);
xdot(12)=P-exp(A*(1-x4^2)/(1-x4+A*x4/B)^2)*exp(C1+D1/(273.15+T4))*x4- exp(A*x4^2/(x4+A*(1-x4)/B)^2)*exp(C2+D2/(273.15+T4))*(1-x4);
xdot(13)=P-exp(A*(1-xB^2)/(1-xB+A*xB/B)^2)*exp(C1+D1/(273.15+TB))*xB- exp(A*xB^2/(xB+A*(1-xB)/B)^2)*exp(C2+D2/(273.15+TB))*(1-xB);
xdot = xdot(:);
else
M = zeros(13,13);
M(1,1) = 1;
M(2,2) = 1;
M(3,3) = 1;
M(4,4) = 1;
M(5,5) = 1;
M(6,6) = 1;
M(7,7) = x(5);
M(8,8) = 1;
xdot = M;
end Now I get a matlab code using ode15s to solve a function with singular Mass. My question is:
what does it mean (there is no function called ‘M’ in my dir)
opts = odeset(‘Mass’, ‘M’, ‘MassSingular’, ‘yes’);
and why in the ode function, there is an extra input called ‘flag’ ?
The main code is as following:
tf = 200;
x0 = [0 0 0 0 2500 0 0.8 0 50 50 50 50 5];
opts = odeset(‘Mass’, ‘M’, ‘MassSingular’, ‘yes’);
[t, x] = ode15s(‘ff’, [0 tf], x0,opts);
function xdot=Methanol_Water(t,x)
if isempty(flag),
P=1;
x1=x(1);
x2=x(2);
x3=x(3);
x4=x(4);
x0=x(6);
xB=x(7);
T1=x(9);
T2=x(10);
T3=x(11);
T4=x(12);
TB=x(13);
D1=-4617.8;
C1=13.676;
D2=-5042.6;
C2=13.519;
A=0.85;
B=0.48;
R=10;
V=10;
Di=V/(R+1);
L=V-Di;
y1=exp(A*(1-x1^2)/(1-x1+A*x1/B)^2)*exp(C1+D1/(273.15+T1))*x1/P;
y2=exp(A*(1-x2^2)/(1-x2+A*x2/B)^2)*exp(C1+D1/(273.15+T2))*x2/P;
y3=exp(A*(1-x3^2)/(1-x3+A*x3/B)^2)*exp(C1+D1/(273.15+T3))*x3/P;
y4=exp(A*(1-x4^2)/(1-x4+A*x4/B)^2)*exp(C1+D1/(273.15+T4))*x4/P;
yB=exp(A*(1-xB^2)/(1-xB+A*xB/B)^2)*exp(C1+D1/(273.15+TB))*xB/P;
MH0=100;
MH=20;
xdot(1)=1/MH*(L*(x0-x1)+V*(y2-y1));
xdot(2)=1/MH*(L*(x1-x2)+V*(y3-y2));
xdot(3)=1/MH*(L*(x2-x3)+V*(y4-y3));
xdot(4)=1/MH*(L*(x3-x4)+V*(yB-y4));
xdot(5)=L-V;
xdot(6)=(V/MH0*y1-(L+Di)/MH0*x0);
xdot(7)=(L*(x4-xB)-V*(yB-xB));
xdot(8)=Di;
xdot(9)=P-exp(A*(1-x1^2)/(1-x1+A*x1/B)^2)*exp(C1+D1/(273.15+T1))*x1-exp(A*x1^2/(x1+A*(1-x1)/B)^2)*exp(C2+D2/(273.15+T1))*(1-x1);
xdot(10)=P-exp(A*(1-x2^2)/(1-x2+A*x2/B)^2)*exp(C1+D1/(273.15+T2))*x2- exp(A*x2^2/(x2+A*(1-x2)/B)^2)*exp(C2+D2/(273.15+T2))*(1-x2);
xdot(11)=P-exp(A*(1-x3^2)/(1-x3+A*x3/B)^2)*exp(C1+D1/(273.15+T3))*x3-exp(A*x3^2/(x3+A*(1-x3)/B)^2)*exp(C2+D2/(273.15+T3))*(1-x3);
xdot(12)=P-exp(A*(1-x4^2)/(1-x4+A*x4/B)^2)*exp(C1+D1/(273.15+T4))*x4- exp(A*x4^2/(x4+A*(1-x4)/B)^2)*exp(C2+D2/(273.15+T4))*(1-x4);
xdot(13)=P-exp(A*(1-xB^2)/(1-xB+A*xB/B)^2)*exp(C1+D1/(273.15+TB))*xB- exp(A*xB^2/(xB+A*(1-xB)/B)^2)*exp(C2+D2/(273.15+TB))*(1-xB);
xdot = xdot(:);
else
M = zeros(13,13);
M(1,1) = 1;
M(2,2) = 1;
M(3,3) = 1;
M(4,4) = 1;
M(5,5) = 1;
M(6,6) = 1;
M(7,7) = x(5);
M(8,8) = 1;
xdot = M;
end ode15s, mass MATLAB Answers — New Questions
Taylor diagram plot method
Hello,
I have to plot taylor diagram in order to compare the results of three models to observations. Could anyone help me how to proceed step by step because I found some solutions in the net but I didn’t understand how it works.
Thanks in advanceHello,
I have to plot taylor diagram in order to compare the results of three models to observations. Could anyone help me how to proceed step by step because I found some solutions in the net but I didn’t understand how it works.
Thanks in advance Hello,
I have to plot taylor diagram in order to compare the results of three models to observations. Could anyone help me how to proceed step by step because I found some solutions in the net but I didn’t understand how it works.
Thanks in advance taylor diagram, comparison, models MATLAB Answers — New Questions
Performance of SystemObject vs Class
Lately, I was introduced to SystemObjects and some of its benefits, for example that one can use them in Matlab as well as in Simulink which is important to me. So I started playing around with SystemObjects and quickly ended up in a scenario where I have a main SystemObject in which I create instances of other SystemObjects which themselves create instances of other SystemObjects. So to say: nested SystemObjects.
Now, for my understanding: If I want to use the main SystemObject only in both Matlab and Simulink then I could replace the other SystemObjects with normal classes. And here comes the question: Would that increase the performance of the generated code?
The reason why I am wondering is the fact that in languages like C++ inheritance from classes with virtual methods cause runtime costs (at least that’s what I understood). I guess in the case of SystemObjects which inherit from the matlab.System class something similar will happen?Lately, I was introduced to SystemObjects and some of its benefits, for example that one can use them in Matlab as well as in Simulink which is important to me. So I started playing around with SystemObjects and quickly ended up in a scenario where I have a main SystemObject in which I create instances of other SystemObjects which themselves create instances of other SystemObjects. So to say: nested SystemObjects.
Now, for my understanding: If I want to use the main SystemObject only in both Matlab and Simulink then I could replace the other SystemObjects with normal classes. And here comes the question: Would that increase the performance of the generated code?
The reason why I am wondering is the fact that in languages like C++ inheritance from classes with virtual methods cause runtime costs (at least that’s what I understood). I guess in the case of SystemObjects which inherit from the matlab.System class something similar will happen? Lately, I was introduced to SystemObjects and some of its benefits, for example that one can use them in Matlab as well as in Simulink which is important to me. So I started playing around with SystemObjects and quickly ended up in a scenario where I have a main SystemObject in which I create instances of other SystemObjects which themselves create instances of other SystemObjects. So to say: nested SystemObjects.
Now, for my understanding: If I want to use the main SystemObject only in both Matlab and Simulink then I could replace the other SystemObjects with normal classes. And here comes the question: Would that increase the performance of the generated code?
The reason why I am wondering is the fact that in languages like C++ inheritance from classes with virtual methods cause runtime costs (at least that’s what I understood). I guess in the case of SystemObjects which inherit from the matlab.System class something similar will happen? performance, systemobject, class, inheritance, matlab.system, code generation MATLAB Answers — New Questions
How to check mixer upconverted output at 2.4GHz?
I am using mixer to upconvert baseband signal of 1-2 MHz to 2.4GHz.
I want to verify this upconverted signal before transmission.
I used ps to simulink block but with that it shows baseband signal only. I would like to know how can I verify that the signal is upconverted to passband signal?I am using mixer to upconvert baseband signal of 1-2 MHz to 2.4GHz.
I want to verify this upconverted signal before transmission.
I used ps to simulink block but with that it shows baseband signal only. I would like to know how can I verify that the signal is upconverted to passband signal? I am using mixer to upconvert baseband signal of 1-2 MHz to 2.4GHz.
I want to verify this upconverted signal before transmission.
I used ps to simulink block but with that it shows baseband signal only. I would like to know how can I verify that the signal is upconverted to passband signal? baseband to passband conversion, mixer, rf MATLAB Answers — New Questions
automation of code for many variables
לק"י
Hi guys,
I got alot of variables due to high amount of samples to analyze. I import csv data from the import tool and then process each variable that was imported.
I want to know, what is the recommended way to run code on several variables and then save the outputs in an ordered way? can you refer me to a page or video that can explain it?
tanks very much!
Amit.לק"י
Hi guys,
I got alot of variables due to high amount of samples to analyze. I import csv data from the import tool and then process each variable that was imported.
I want to know, what is the recommended way to run code on several variables and then save the outputs in an ordered way? can you refer me to a page or video that can explain it?
tanks very much!
Amit. לק"י
Hi guys,
I got alot of variables due to high amount of samples to analyze. I import csv data from the import tool and then process each variable that was imported.
I want to know, what is the recommended way to run code on several variables and then save the outputs in an ordered way? can you refer me to a page or video that can explain it?
tanks very much!
Amit. automation of code, high throughput analysis, automation MATLAB Answers — New Questions
Scatter plot to contour plot
Can you help me using this function https://www.mathworks.com/matlabcentral/fileexchange/38858-contour-plot-for-scattered-data with the data attached?
I want to go from a scatter plot (below) to a contour plot.Can you help me using this function https://www.mathworks.com/matlabcentral/fileexchange/38858-contour-plot-for-scattered-data with the data attached?
I want to go from a scatter plot (below) to a contour plot. Can you help me using this function https://www.mathworks.com/matlabcentral/fileexchange/38858-contour-plot-for-scattered-data with the data attached?
I want to go from a scatter plot (below) to a contour plot. contour MATLAB Answers — New Questions
Vectorize nested for loops with indices and subscripts
How can I vectorize these nested loops?
A=[1 2 0 2;2 1 3 0;0 3 1 3;2 0 3 1];
matArray=unifrnd(-1,1,[4,4,10]);
m=size(matArray,3);
n=size(unique(A),1)-1;
out=zeros(m,n);
for i = 1 : m
mat=matArray(:,:,i);
for j = 1 : n
out(i,j) = sum(mat(A(:)==j));
end
end
Imo, the main challenge seems to be that if I vectorize i, then I don’t seem how to combine indices and subscripts for mat(A(:)==j) to work. I guess one option could be to arrange m copies of A in the same shape as matArray but I am not sure whether that is the best approach.How can I vectorize these nested loops?
A=[1 2 0 2;2 1 3 0;0 3 1 3;2 0 3 1];
matArray=unifrnd(-1,1,[4,4,10]);
m=size(matArray,3);
n=size(unique(A),1)-1;
out=zeros(m,n);
for i = 1 : m
mat=matArray(:,:,i);
for j = 1 : n
out(i,j) = sum(mat(A(:)==j));
end
end
Imo, the main challenge seems to be that if I vectorize i, then I don’t seem how to combine indices and subscripts for mat(A(:)==j) to work. I guess one option could be to arrange m copies of A in the same shape as matArray but I am not sure whether that is the best approach. How can I vectorize these nested loops?
A=[1 2 0 2;2 1 3 0;0 3 1 3;2 0 3 1];
matArray=unifrnd(-1,1,[4,4,10]);
m=size(matArray,3);
n=size(unique(A),1)-1;
out=zeros(m,n);
for i = 1 : m
mat=matArray(:,:,i);
for j = 1 : n
out(i,j) = sum(mat(A(:)==j));
end
end
Imo, the main challenge seems to be that if I vectorize i, then I don’t seem how to combine indices and subscripts for mat(A(:)==j) to work. I guess one option could be to arrange m copies of A in the same shape as matArray but I am not sure whether that is the best approach. vectorization, indexing MATLAB Answers — New Questions
Visualization of decision tree
I have a table in which all of its columns are categorical variables, and the label associated with them is also a categorical variable. I use this piece of code to fit a tree to the data:
Mdld = fitctree(X,Ycat,’MaxNumSplits’,5,’PredictorSelection’,’curvature’,…
‘CrossVal’,’on’);
when I plot the tree, the variables will be converted to a ordinal variable which is hard to track back what is the original variables that I had in table X. You can see the results here:
view(Mdld.Trained{1},’Mode’,’graph’)
As you see, the labels are correct, but for example, in the X table, I have "Small" and "Large" categories for vessel radius, but I get 1 and 2 labels instead, for which I event do not know readily which one is which!
I could not find a way to keep the labels on the node. Can anyone help me to do so?I have a table in which all of its columns are categorical variables, and the label associated with them is also a categorical variable. I use this piece of code to fit a tree to the data:
Mdld = fitctree(X,Ycat,’MaxNumSplits’,5,’PredictorSelection’,’curvature’,…
‘CrossVal’,’on’);
when I plot the tree, the variables will be converted to a ordinal variable which is hard to track back what is the original variables that I had in table X. You can see the results here:
view(Mdld.Trained{1},’Mode’,’graph’)
As you see, the labels are correct, but for example, in the X table, I have "Small" and "Large" categories for vessel radius, but I get 1 and 2 labels instead, for which I event do not know readily which one is which!
I could not find a way to keep the labels on the node. Can anyone help me to do so? I have a table in which all of its columns are categorical variables, and the label associated with them is also a categorical variable. I use this piece of code to fit a tree to the data:
Mdld = fitctree(X,Ycat,’MaxNumSplits’,5,’PredictorSelection’,’curvature’,…
‘CrossVal’,’on’);
when I plot the tree, the variables will be converted to a ordinal variable which is hard to track back what is the original variables that I had in table X. You can see the results here:
view(Mdld.Trained{1},’Mode’,’graph’)
As you see, the labels are correct, but for example, in the X table, I have "Small" and "Large" categories for vessel radius, but I get 1 and 2 labels instead, for which I event do not know readily which one is which!
I could not find a way to keep the labels on the node. Can anyone help me to do so? decision tree, view, visualize, categorical variables MATLAB Answers — New Questions
Unzipping MDF4 files and combining them into 1
I am trying unzip a collection of mdf4 files, combine them into 1 mdf4 file and save it. I am getting the following error (attached):
‘Time_10Hz’ does exist in the dataset as shown (attached)
Any help would be appreciated! Code is attached below
% Open file selection dialog to choose MDF files
[fileNames, folderPath] = uigetfile(‘*.mdf;*.zip’, ‘Select MDF or ZIP files’, ‘MultiSelect’, ‘on’);
if ~ischar(fileNames) % Check if any file is selected
combinedData = struct(); % Initialize an empty structure to store combined data
for i = 1:numel(fileNames)
filePath = fullfile(folderPath, fileNames{i});
% Check if the file is a ZIP archive
if endsWith(filePath, ‘.zip’)
% Unzip the archive to a temporary folder
tempFolder = tempname;
unzip(filePath, tempFolder);
% Find the MDF file(s) in the temporary folder
mdfFiles = dir(fullfile(tempFolder, ‘*.mdf’));
for j = 1:numel(mdfFiles)
mdfFilePath = fullfile(tempFolder, mdfFiles(j).name);
data = mdfimport(mdfFilePath);
% Extract desired channel groups and signals
desiredChannelGroups = {’32’}; % Replace with your desired channel groups
desiredSignals = {‘YawRate’, ‘EPBMode’}; % Replace with your desired signals
for k = 1:numel(desiredChannelGroups)
channelGroup = desiredChannelGroups{k};
if isfield(data, channelGroup)
for l = 1:numel(desiredSignals)
signal = desiredSignals{l};
if isfield(data.(channelGroup), signal)
if isfield(combinedData, [channelGroup ‘.’ signal])
combinedData.([channelGroup ‘.’ signal]) = [combinedData.([channelGroup ‘.’ signal]), data.(channelGroup).(signal)];
else
combinedData.([channelGroup ‘.’ signal]) = data.(channelGroup).(signal);
end
end
end
end
end
end
% Clean up the temporary folder
rmdir(tempFolder, ‘s’);
else
% Import the MDF file directly
data = mdfimport(filePath);
% Extract desired channel groups and signals
desiredChannelGroups = {’32’}; % Replace with your desired channel groups
desiredSignals = {‘YawRate’, ‘EPBMode’}; % Replace with your desired signals
for k = 1:numel(desiredChannelGroups)
channelGroup = desiredChannelGroups{k};
if isfield(data, channelGroup)
for l = 1:numel(desiredSignals)
signal = desiredSignals{l};
if isfield(data.(channelGroup), signal)
if isfield(combinedData, [channelGroup ‘.’ signal])
combinedData.([channelGroup ‘.’ signal]) = [combinedData.([channelGroup ‘.’ signal]), data.(channelGroup).(signal)];
else
combinedData.([channelGroup ‘.’ signal]) = data.(channelGroup).(signal);
end
end
end
end
end
end
end
% Create a timetable from the combined data structure
timeField = ‘Time_10Hz’; % Assuming ‘Time’ is the field containing time information
combinedTimetable = timetable(combinedData.(timeField), combinedData);
% Save the combined data to a new MDF file
[fileName, folderPath] = uiputfile(‘*.mdf’, ‘Save Combined MDF File’);
if fileName ~= 0 % Check if a file name is provided
outputFilePath = fullfile(folderPath, fileName);
mdfWrite(outputFilePath, combinedTimetable);
msgbox(‘MDF files combined successfully!’, ‘Success’);
end
endI am trying unzip a collection of mdf4 files, combine them into 1 mdf4 file and save it. I am getting the following error (attached):
‘Time_10Hz’ does exist in the dataset as shown (attached)
Any help would be appreciated! Code is attached below
% Open file selection dialog to choose MDF files
[fileNames, folderPath] = uigetfile(‘*.mdf;*.zip’, ‘Select MDF or ZIP files’, ‘MultiSelect’, ‘on’);
if ~ischar(fileNames) % Check if any file is selected
combinedData = struct(); % Initialize an empty structure to store combined data
for i = 1:numel(fileNames)
filePath = fullfile(folderPath, fileNames{i});
% Check if the file is a ZIP archive
if endsWith(filePath, ‘.zip’)
% Unzip the archive to a temporary folder
tempFolder = tempname;
unzip(filePath, tempFolder);
% Find the MDF file(s) in the temporary folder
mdfFiles = dir(fullfile(tempFolder, ‘*.mdf’));
for j = 1:numel(mdfFiles)
mdfFilePath = fullfile(tempFolder, mdfFiles(j).name);
data = mdfimport(mdfFilePath);
% Extract desired channel groups and signals
desiredChannelGroups = {’32’}; % Replace with your desired channel groups
desiredSignals = {‘YawRate’, ‘EPBMode’}; % Replace with your desired signals
for k = 1:numel(desiredChannelGroups)
channelGroup = desiredChannelGroups{k};
if isfield(data, channelGroup)
for l = 1:numel(desiredSignals)
signal = desiredSignals{l};
if isfield(data.(channelGroup), signal)
if isfield(combinedData, [channelGroup ‘.’ signal])
combinedData.([channelGroup ‘.’ signal]) = [combinedData.([channelGroup ‘.’ signal]), data.(channelGroup).(signal)];
else
combinedData.([channelGroup ‘.’ signal]) = data.(channelGroup).(signal);
end
end
end
end
end
end
% Clean up the temporary folder
rmdir(tempFolder, ‘s’);
else
% Import the MDF file directly
data = mdfimport(filePath);
% Extract desired channel groups and signals
desiredChannelGroups = {’32’}; % Replace with your desired channel groups
desiredSignals = {‘YawRate’, ‘EPBMode’}; % Replace with your desired signals
for k = 1:numel(desiredChannelGroups)
channelGroup = desiredChannelGroups{k};
if isfield(data, channelGroup)
for l = 1:numel(desiredSignals)
signal = desiredSignals{l};
if isfield(data.(channelGroup), signal)
if isfield(combinedData, [channelGroup ‘.’ signal])
combinedData.([channelGroup ‘.’ signal]) = [combinedData.([channelGroup ‘.’ signal]), data.(channelGroup).(signal)];
else
combinedData.([channelGroup ‘.’ signal]) = data.(channelGroup).(signal);
end
end
end
end
end
end
end
% Create a timetable from the combined data structure
timeField = ‘Time_10Hz’; % Assuming ‘Time’ is the field containing time information
combinedTimetable = timetable(combinedData.(timeField), combinedData);
% Save the combined data to a new MDF file
[fileName, folderPath] = uiputfile(‘*.mdf’, ‘Save Combined MDF File’);
if fileName ~= 0 % Check if a file name is provided
outputFilePath = fullfile(folderPath, fileName);
mdfWrite(outputFilePath, combinedTimetable);
msgbox(‘MDF files combined successfully!’, ‘Success’);
end
end I am trying unzip a collection of mdf4 files, combine them into 1 mdf4 file and save it. I am getting the following error (attached):
‘Time_10Hz’ does exist in the dataset as shown (attached)
Any help would be appreciated! Code is attached below
% Open file selection dialog to choose MDF files
[fileNames, folderPath] = uigetfile(‘*.mdf;*.zip’, ‘Select MDF or ZIP files’, ‘MultiSelect’, ‘on’);
if ~ischar(fileNames) % Check if any file is selected
combinedData = struct(); % Initialize an empty structure to store combined data
for i = 1:numel(fileNames)
filePath = fullfile(folderPath, fileNames{i});
% Check if the file is a ZIP archive
if endsWith(filePath, ‘.zip’)
% Unzip the archive to a temporary folder
tempFolder = tempname;
unzip(filePath, tempFolder);
% Find the MDF file(s) in the temporary folder
mdfFiles = dir(fullfile(tempFolder, ‘*.mdf’));
for j = 1:numel(mdfFiles)
mdfFilePath = fullfile(tempFolder, mdfFiles(j).name);
data = mdfimport(mdfFilePath);
% Extract desired channel groups and signals
desiredChannelGroups = {’32’}; % Replace with your desired channel groups
desiredSignals = {‘YawRate’, ‘EPBMode’}; % Replace with your desired signals
for k = 1:numel(desiredChannelGroups)
channelGroup = desiredChannelGroups{k};
if isfield(data, channelGroup)
for l = 1:numel(desiredSignals)
signal = desiredSignals{l};
if isfield(data.(channelGroup), signal)
if isfield(combinedData, [channelGroup ‘.’ signal])
combinedData.([channelGroup ‘.’ signal]) = [combinedData.([channelGroup ‘.’ signal]), data.(channelGroup).(signal)];
else
combinedData.([channelGroup ‘.’ signal]) = data.(channelGroup).(signal);
end
end
end
end
end
end
% Clean up the temporary folder
rmdir(tempFolder, ‘s’);
else
% Import the MDF file directly
data = mdfimport(filePath);
% Extract desired channel groups and signals
desiredChannelGroups = {’32’}; % Replace with your desired channel groups
desiredSignals = {‘YawRate’, ‘EPBMode’}; % Replace with your desired signals
for k = 1:numel(desiredChannelGroups)
channelGroup = desiredChannelGroups{k};
if isfield(data, channelGroup)
for l = 1:numel(desiredSignals)
signal = desiredSignals{l};
if isfield(data.(channelGroup), signal)
if isfield(combinedData, [channelGroup ‘.’ signal])
combinedData.([channelGroup ‘.’ signal]) = [combinedData.([channelGroup ‘.’ signal]), data.(channelGroup).(signal)];
else
combinedData.([channelGroup ‘.’ signal]) = data.(channelGroup).(signal);
end
end
end
end
end
end
end
% Create a timetable from the combined data structure
timeField = ‘Time_10Hz’; % Assuming ‘Time’ is the field containing time information
combinedTimetable = timetable(combinedData.(timeField), combinedData);
% Save the combined data to a new MDF file
[fileName, folderPath] = uiputfile(‘*.mdf’, ‘Save Combined MDF File’);
if fileName ~= 0 % Check if a file name is provided
outputFilePath = fullfile(folderPath, fileName);
mdfWrite(outputFilePath, combinedTimetable);
msgbox(‘MDF files combined successfully!’, ‘Success’);
end
end mdf4, matlab, import, mdfimport MATLAB Answers — New Questions
parse error and Directory error for class definition
hey guys, in the below code, i am having 2 errors:
I cannot run the code due to this error: "A class definition must be in an "@" directory",
there is a "parse error usage might be invalid matlab syntax" at line "inputData"
the working folder in this case is : C:UsersautoCar@PCTemplates@preprocessor
inside templates folder I have also other working .m scripts, but without any class definitions.
matlab verison R2015b
How to solve this issues?
Thankyou!
classdef preprocessor
properties
vehicleParameters
weatherConditions
roadDefinitions
maneuvers
faultInjections
end
methods
function obj = preprocessor(vehicleParams, weatherConds, roadDefs, maneuvers, faults)
if nargin > 0
obj.vehicleParameters = vehicleParams;
obj.weatherConditions = weatherConds;
obj.roadDefinitions = roadDefs;
obj.maneuvers = maneuvers;
obj.faultInjections = faults;
end
end
end
end
%% %% Define the structure containing all parameters and values
inputData = struct();hey guys, in the below code, i am having 2 errors:
I cannot run the code due to this error: "A class definition must be in an "@" directory",
there is a "parse error usage might be invalid matlab syntax" at line "inputData"
the working folder in this case is : C:UsersautoCar@PCTemplates@preprocessor
inside templates folder I have also other working .m scripts, but without any class definitions.
matlab verison R2015b
How to solve this issues?
Thankyou!
classdef preprocessor
properties
vehicleParameters
weatherConditions
roadDefinitions
maneuvers
faultInjections
end
methods
function obj = preprocessor(vehicleParams, weatherConds, roadDefs, maneuvers, faults)
if nargin > 0
obj.vehicleParameters = vehicleParams;
obj.weatherConditions = weatherConds;
obj.roadDefinitions = roadDefs;
obj.maneuvers = maneuvers;
obj.faultInjections = faults;
end
end
end
end
%% %% Define the structure containing all parameters and values
inputData = struct(); hey guys, in the below code, i am having 2 errors:
I cannot run the code due to this error: "A class definition must be in an "@" directory",
there is a "parse error usage might be invalid matlab syntax" at line "inputData"
the working folder in this case is : C:UsersautoCar@PCTemplates@preprocessor
inside templates folder I have also other working .m scripts, but without any class definitions.
matlab verison R2015b
How to solve this issues?
Thankyou!
classdef preprocessor
properties
vehicleParameters
weatherConditions
roadDefinitions
maneuvers
faultInjections
end
methods
function obj = preprocessor(vehicleParams, weatherConds, roadDefs, maneuvers, faults)
if nargin > 0
obj.vehicleParameters = vehicleParams;
obj.weatherConditions = weatherConds;
obj.roadDefinitions = roadDefs;
obj.maneuvers = maneuvers;
obj.faultInjections = faults;
end
end
end
end
%% %% Define the structure containing all parameters and values
inputData = struct(); matlab, oop, student, class MATLAB Answers — New Questions
plot normal distribution plot on histogram of residuals
Does anyone know how to do that?
Would be great if it could look like that:
<</matlabcentral/answers/uploaded_files/15773/heavy_tailed_plot.gif>>
Thank you!!!Does anyone know how to do that?
Would be great if it could look like that:
<</matlabcentral/answers/uploaded_files/15773/heavy_tailed_plot.gif>>
Thank you!!! Does anyone know how to do that?
Would be great if it could look like that:
<</matlabcentral/answers/uploaded_files/15773/heavy_tailed_plot.gif>>
Thank you!!! histogram of residuals, normal probability MATLAB Answers — New Questions
Unable to clear editField more than once
I am creating a typing test on the MatLab AppDesigner. I have simplified it down to a core problem. I have placed an EditField on the screen and have created this code for the function EditFieldValueChanging(app,event):
currentText = event.Value;
if contains(currentText,’test’)
app.EditField.Value = ‘ ‘;
disp(‘good job’)
end
I have two issues: firstly, I cannot set the app.EditField.Value to nothing (i.e. ”). I tried this with a TextArea and it did work however, so I have found a workaround. Secondly and the main issue, is that once it clears the text, it only works once. If I type ‘hello’ again into the text box, it displays ‘good job’ but does not clear the text the second time around. I really appreciate any help.I am creating a typing test on the MatLab AppDesigner. I have simplified it down to a core problem. I have placed an EditField on the screen and have created this code for the function EditFieldValueChanging(app,event):
currentText = event.Value;
if contains(currentText,’test’)
app.EditField.Value = ‘ ‘;
disp(‘good job’)
end
I have two issues: firstly, I cannot set the app.EditField.Value to nothing (i.e. ”). I tried this with a TextArea and it did work however, so I have found a workaround. Secondly and the main issue, is that once it clears the text, it only works once. If I type ‘hello’ again into the text box, it displays ‘good job’ but does not clear the text the second time around. I really appreciate any help. I am creating a typing test on the MatLab AppDesigner. I have simplified it down to a core problem. I have placed an EditField on the screen and have created this code for the function EditFieldValueChanging(app,event):
currentText = event.Value;
if contains(currentText,’test’)
app.EditField.Value = ‘ ‘;
disp(‘good job’)
end
I have two issues: firstly, I cannot set the app.EditField.Value to nothing (i.e. ”). I tried this with a TextArea and it did work however, so I have found a workaround. Secondly and the main issue, is that once it clears the text, it only works once. If I type ‘hello’ again into the text box, it displays ‘good job’ but does not clear the text the second time around. I really appreciate any help. appdesigner, app designer, text, input MATLAB Answers — New Questions
How to manually remove the unwanted data dots or lines in a graph?
I want to know if a function exists to manually remove the dots in an image like this. In this image, the unwanted dots are in the red circle. I hope I can use something like a brush to remove them and let them become the black background. Any suggestion is appreciated!I want to know if a function exists to manually remove the dots in an image like this. In this image, the unwanted dots are in the red circle. I hope I can use something like a brush to remove them and let them become the black background. Any suggestion is appreciated! I want to know if a function exists to manually remove the dots in an image like this. In this image, the unwanted dots are in the red circle. I hope I can use something like a brush to remove them and let them become the black background. Any suggestion is appreciated! image processing MATLAB Answers — New Questions
Create a solid line instead of single points in the plot
My Problem is I calculated curves out of 81 Data points and want to plot it as a solid line. If I plot it, the only way it shows the curve is as points, stars etc. As you can see in the picture below.
I have to do this seven times.
The code for this is:
imax is from 1 to 7 an (each curve)
N is from 1 to 81 and are my data points
The rest is calculated before but not relevant for the problem
vR=ones(imax,N);
FZA2=ones(imax,N);
vR(k,h)=(2*pi*rdyn)*(nR(k,h)/60)*3.6;
FZA2(k,h)=(T2(h,1)*i2(k)*i2E*nges)/rdyn; %in N
plot(vR(1,h),FZA2(1,h),’.b’,vR(2,h),FZA2(2,h),’.r’,vR(3,h),FZA2(3,h),’.g’,vR(4,h),FZA2(4,h),’.c’,vR(5,h),FZA2(5,h),’.y’,vR(6,h),FZA2(6,h),’.m’,vR(7,h),FZA2(7,h),’.b’);My Problem is I calculated curves out of 81 Data points and want to plot it as a solid line. If I plot it, the only way it shows the curve is as points, stars etc. As you can see in the picture below.
I have to do this seven times.
The code for this is:
imax is from 1 to 7 an (each curve)
N is from 1 to 81 and are my data points
The rest is calculated before but not relevant for the problem
vR=ones(imax,N);
FZA2=ones(imax,N);
vR(k,h)=(2*pi*rdyn)*(nR(k,h)/60)*3.6;
FZA2(k,h)=(T2(h,1)*i2(k)*i2E*nges)/rdyn; %in N
plot(vR(1,h),FZA2(1,h),’.b’,vR(2,h),FZA2(2,h),’.r’,vR(3,h),FZA2(3,h),’.g’,vR(4,h),FZA2(4,h),’.c’,vR(5,h),FZA2(5,h),’.y’,vR(6,h),FZA2(6,h),’.m’,vR(7,h),FZA2(7,h),’.b’); My Problem is I calculated curves out of 81 Data points and want to plot it as a solid line. If I plot it, the only way it shows the curve is as points, stars etc. As you can see in the picture below.
I have to do this seven times.
The code for this is:
imax is from 1 to 7 an (each curve)
N is from 1 to 81 and are my data points
The rest is calculated before but not relevant for the problem
vR=ones(imax,N);
FZA2=ones(imax,N);
vR(k,h)=(2*pi*rdyn)*(nR(k,h)/60)*3.6;
FZA2(k,h)=(T2(h,1)*i2(k)*i2E*nges)/rdyn; %in N
plot(vR(1,h),FZA2(1,h),’.b’,vR(2,h),FZA2(2,h),’.r’,vR(3,h),FZA2(3,h),’.g’,vR(4,h),FZA2(4,h),’.c’,vR(5,h),FZA2(5,h),’.y’,vR(6,h),FZA2(6,h),’.m’,vR(7,h),FZA2(7,h),’.b’); plot, solid line, data points MATLAB Answers — New Questions
Help GUI Layout toolbox Relative widths
I am writing an interface with GUI Layout toolbox, which has two rows and three columns of block diagrams. I found that the "widths" function can only set the absolute width, and when the display size changes, the layout of block diagrams will also change, which is very ugly, so I would like to ask if you can set the relative proportion of block diagrams? This allows the application to display the same effect on different screen sizes.
Part of my code is as follows:
g = uix.Grid( ‘Parent’, p1, ‘Spacing’, 1 ,’Padding’,1,’BackgroundColor’,[0.8 0.9 0.5]);
g1 = uix.Panel( ‘Parent’,g, ‘Title’, ”, ‘Padding’, 0 ,’FontWeight’,’bold’,’fontsize’,12,’TitlePosition’, ‘centertop’);
g2 = uix.Panel( ‘Parent’,g, ‘Title’, ”, ‘Padding’, 0 ,’FontWeight’,’bold’,’fontsize’,12,’TitlePosition’, ‘centertop’);
obj.ax(5) = axes( ‘Parent’,uicontainer(‘Parent’, g1));%,’Clipping’,’on’,’ActivePositionProperty’, ‘OuterPosition’);
obj.ax(6) = axes( ‘Parent’,uicontainer(‘Parent’, g2));%,’Clipping’,’on’,’ActivePositionProperty’, ‘OuterPosition’);
set( g, ‘Widths’, [-1 400 -2.5], ‘Heights’, [-1 -1] );I am writing an interface with GUI Layout toolbox, which has two rows and three columns of block diagrams. I found that the "widths" function can only set the absolute width, and when the display size changes, the layout of block diagrams will also change, which is very ugly, so I would like to ask if you can set the relative proportion of block diagrams? This allows the application to display the same effect on different screen sizes.
Part of my code is as follows:
g = uix.Grid( ‘Parent’, p1, ‘Spacing’, 1 ,’Padding’,1,’BackgroundColor’,[0.8 0.9 0.5]);
g1 = uix.Panel( ‘Parent’,g, ‘Title’, ”, ‘Padding’, 0 ,’FontWeight’,’bold’,’fontsize’,12,’TitlePosition’, ‘centertop’);
g2 = uix.Panel( ‘Parent’,g, ‘Title’, ”, ‘Padding’, 0 ,’FontWeight’,’bold’,’fontsize’,12,’TitlePosition’, ‘centertop’);
obj.ax(5) = axes( ‘Parent’,uicontainer(‘Parent’, g1));%,’Clipping’,’on’,’ActivePositionProperty’, ‘OuterPosition’);
obj.ax(6) = axes( ‘Parent’,uicontainer(‘Parent’, g2));%,’Clipping’,’on’,’ActivePositionProperty’, ‘OuterPosition’);
set( g, ‘Widths’, [-1 400 -2.5], ‘Heights’, [-1 -1] ); I am writing an interface with GUI Layout toolbox, which has two rows and three columns of block diagrams. I found that the "widths" function can only set the absolute width, and when the display size changes, the layout of block diagrams will also change, which is very ugly, so I would like to ask if you can set the relative proportion of block diagrams? This allows the application to display the same effect on different screen sizes.
Part of my code is as follows:
g = uix.Grid( ‘Parent’, p1, ‘Spacing’, 1 ,’Padding’,1,’BackgroundColor’,[0.8 0.9 0.5]);
g1 = uix.Panel( ‘Parent’,g, ‘Title’, ”, ‘Padding’, 0 ,’FontWeight’,’bold’,’fontsize’,12,’TitlePosition’, ‘centertop’);
g2 = uix.Panel( ‘Parent’,g, ‘Title’, ”, ‘Padding’, 0 ,’FontWeight’,’bold’,’fontsize’,12,’TitlePosition’, ‘centertop’);
obj.ax(5) = axes( ‘Parent’,uicontainer(‘Parent’, g1));%,’Clipping’,’on’,’ActivePositionProperty’, ‘OuterPosition’);
obj.ax(6) = axes( ‘Parent’,uicontainer(‘Parent’, g2));%,’Clipping’,’on’,’ActivePositionProperty’, ‘OuterPosition’);
set( g, ‘Widths’, [-1 400 -2.5], ‘Heights’, [-1 -1] ); gui layout tool, withds MATLAB Answers — New Questions
How to use a transformed data store to train the network ?
Whenever I use transformation for an Image data store (DS) for resizing the images, the resulting transformed DS consists of only images without its labels.
resizedImds = transform(Image DS, @(x) imresize(x, [227 227]));
I need a transformed data store with the labels stored in image data store [Labels= imagesdatastore.Labels].Whenever I use transformation for an Image data store (DS) for resizing the images, the resulting transformed DS consists of only images without its labels.
resizedImds = transform(Image DS, @(x) imresize(x, [227 227]));
I need a transformed data store with the labels stored in image data store [Labels= imagesdatastore.Labels]. Whenever I use transformation for an Image data store (DS) for resizing the images, the resulting transformed DS consists of only images without its labels.
resizedImds = transform(Image DS, @(x) imresize(x, [227 227]));
I need a transformed data store with the labels stored in image data store [Labels= imagesdatastore.Labels]. transform, deep learning, image processing MATLAB Answers — New Questions
Simulink circuit calculations of current etc
I am using simulink and I get red lines connecting resistors etc and sometimes blue lines is this correctI am using simulink and I get red lines connecting resistors etc and sometimes blue lines is this correct I am using simulink and I get red lines connecting resistors etc and sometimes blue lines is this correct circuit calculations MATLAB Answers — New Questions
Matlab 2023b, Ubuntu 22.04, Add-ons not working + unable to install.mltbx file (same error for both)
Dear All,
I get the same error for both pushing the add-ons button or manually installing an .mltbx file.
Any help would be appreciated. Other than this, matlab works just fine.
Error:
Error using strjoin
Unsupported input: string
Error in matlab.net.QueryParameter/string (line 386)
res = strjoin([res{:}], ‘&’);
Error in matlab.net.URI/string (line 673)
query = ‘?’ + string(obj.Query);
Error in matlab.net.URI/get.EncodedURI (line 575)
str = string(obj);
Error in getExplorerUrl/getConnectorUrlForMatlab (line 50)
url = urlGenerator.addQueryParameter("useRegFwk", useRegFwk()).generate.EncodedURI;
Error in getExplorerUrl/getConnectorUrls (line 44)
connectorUrls.matlab = getConnectorUrlForMatlab();
Error in getExplorerUrl (line 20)
connectorUrls = jsonencode(getConnectorUrls());
Error in matlab.internal.addons.Explorer/show (line 62)
url = char(getExplorerUrl(navigationData));
Error in matlab.internal.addons.launchers.showExplorer (line 140)
matlab.internal.addons.Explorer.getInstance.show(navigationData);
Regards,
GergőDear All,
I get the same error for both pushing the add-ons button or manually installing an .mltbx file.
Any help would be appreciated. Other than this, matlab works just fine.
Error:
Error using strjoin
Unsupported input: string
Error in matlab.net.QueryParameter/string (line 386)
res = strjoin([res{:}], ‘&’);
Error in matlab.net.URI/string (line 673)
query = ‘?’ + string(obj.Query);
Error in matlab.net.URI/get.EncodedURI (line 575)
str = string(obj);
Error in getExplorerUrl/getConnectorUrlForMatlab (line 50)
url = urlGenerator.addQueryParameter("useRegFwk", useRegFwk()).generate.EncodedURI;
Error in getExplorerUrl/getConnectorUrls (line 44)
connectorUrls.matlab = getConnectorUrlForMatlab();
Error in getExplorerUrl (line 20)
connectorUrls = jsonencode(getConnectorUrls());
Error in matlab.internal.addons.Explorer/show (line 62)
url = char(getExplorerUrl(navigationData));
Error in matlab.internal.addons.launchers.showExplorer (line 140)
matlab.internal.addons.Explorer.getInstance.show(navigationData);
Regards,
Gergő Dear All,
I get the same error for both pushing the add-ons button or manually installing an .mltbx file.
Any help would be appreciated. Other than this, matlab works just fine.
Error:
Error using strjoin
Unsupported input: string
Error in matlab.net.QueryParameter/string (line 386)
res = strjoin([res{:}], ‘&’);
Error in matlab.net.URI/string (line 673)
query = ‘?’ + string(obj.Query);
Error in matlab.net.URI/get.EncodedURI (line 575)
str = string(obj);
Error in getExplorerUrl/getConnectorUrlForMatlab (line 50)
url = urlGenerator.addQueryParameter("useRegFwk", useRegFwk()).generate.EncodedURI;
Error in getExplorerUrl/getConnectorUrls (line 44)
connectorUrls.matlab = getConnectorUrlForMatlab();
Error in getExplorerUrl (line 20)
connectorUrls = jsonencode(getConnectorUrls());
Error in matlab.internal.addons.Explorer/show (line 62)
url = char(getExplorerUrl(navigationData));
Error in matlab.internal.addons.launchers.showExplorer (line 140)
matlab.internal.addons.Explorer.getInstance.show(navigationData);
Regards,
Gergő add-ons, 2023b, ubuntu, strjoin, error MATLAB Answers — New Questions
fsk demodulation of iq_data
Hi all,
I am trying to demodulate the fsk modulated signal (which i generated from the vector signal generator and stored in a txt file as IQ samples). I am using the fskdemod function from matlab for demodulation, i am getting correct bits which i gave but in between there are some bit errors coming. How can i receive the correct bits?. Do i need to employ any others blocks/functions in that code? Someone please help me.
Thanks in advanceHi all,
I am trying to demodulate the fsk modulated signal (which i generated from the vector signal generator and stored in a txt file as IQ samples). I am using the fskdemod function from matlab for demodulation, i am getting correct bits which i gave but in between there are some bit errors coming. How can i receive the correct bits?. Do i need to employ any others blocks/functions in that code? Someone please help me.
Thanks in advance Hi all,
I am trying to demodulate the fsk modulated signal (which i generated from the vector signal generator and stored in a txt file as IQ samples). I am using the fskdemod function from matlab for demodulation, i am getting correct bits which i gave but in between there are some bit errors coming. How can i receive the correct bits?. Do i need to employ any others blocks/functions in that code? Someone please help me.
Thanks in advance fskdemod MATLAB Answers — New Questions