Category: News
Simscape multibody composite rigid body inertia
Howdy,
I’m working with simscape multibody and I’ve seen using inertia sensor there’s chance to select a local group of connected blocks or whole mechanicsms. I was wondering if for a complex branched mechanism would be possible to take also a composite rigid body inertia measure (using actual configurations given by joints positions) for single branches in palce of whole mechanism of any workaround exist for.
Cheers,
Soldà EnricoHowdy,
I’m working with simscape multibody and I’ve seen using inertia sensor there’s chance to select a local group of connected blocks or whole mechanicsms. I was wondering if for a complex branched mechanism would be possible to take also a composite rigid body inertia measure (using actual configurations given by joints positions) for single branches in palce of whole mechanism of any workaround exist for.
Cheers,
Soldà Enrico Howdy,
I’m working with simscape multibody and I’ve seen using inertia sensor there’s chance to select a local group of connected blocks or whole mechanicsms. I was wondering if for a complex branched mechanism would be possible to take also a composite rigid body inertia measure (using actual configurations given by joints positions) for single branches in palce of whole mechanism of any workaround exist for.
Cheers,
Soldà Enrico simscape, inertia measures, composite rigid body MATLAB Answers — New Questions
code for segmentation of image using grabcut algorithm
I=imread(‘Lenna.jpg’);
pad=3;
MAXVAL=255;
[Ncut] = graphcuts(I,pad,MAXVAL)
% function [Ncut] = graphcuts(I)
% Input: I image
% pad: spatial connectivity; eg. 3
% MAXVAL: maximum image value
% Output: Ncut: Binary map 0 or 1 corresponding to image segmentation
error :
Error using graph cuts
Not enough input arguments.I=imread(‘Lenna.jpg’);
pad=3;
MAXVAL=255;
[Ncut] = graphcuts(I,pad,MAXVAL)
% function [Ncut] = graphcuts(I)
% Input: I image
% pad: spatial connectivity; eg. 3
% MAXVAL: maximum image value
% Output: Ncut: Binary map 0 or 1 corresponding to image segmentation
error :
Error using graph cuts
Not enough input arguments. I=imread(‘Lenna.jpg’);
pad=3;
MAXVAL=255;
[Ncut] = graphcuts(I,pad,MAXVAL)
% function [Ncut] = graphcuts(I)
% Input: I image
% pad: spatial connectivity; eg. 3
% MAXVAL: maximum image value
% Output: Ncut: Binary map 0 or 1 corresponding to image segmentation
error :
Error using graph cuts
Not enough input arguments. grabcuts/ graphcuts MATLAB Answers — New Questions
Why would I encounter an error message about unsuitable bus signal using DDS Blockset?
Hi,
I encounter the error : " The ‘input port 1’ of ‘ddsblockset1/Outport’ requires a bus, but it receives a non bus signal from the ‘output port 1’ of ‘ddsblockset1/Write DDS Sample’."
The data type of the input and output ports has been selected as the "Dataype" defined by DDS. I don’t seem to have any difference from the official example settings. Why did I encounter an error?Hi,
I encounter the error : " The ‘input port 1’ of ‘ddsblockset1/Outport’ requires a bus, but it receives a non bus signal from the ‘output port 1’ of ‘ddsblockset1/Write DDS Sample’."
The data type of the input and output ports has been selected as the "Dataype" defined by DDS. I don’t seem to have any difference from the official example settings. Why did I encounter an error? Hi,
I encounter the error : " The ‘input port 1’ of ‘ddsblockset1/Outport’ requires a bus, but it receives a non bus signal from the ‘output port 1’ of ‘ddsblockset1/Write DDS Sample’."
The data type of the input and output ports has been selected as the "Dataype" defined by DDS. I don’t seem to have any difference from the official example settings. Why did I encounter an error? dds blockset, simulink, bus signal MATLAB Answers — New Questions
Domain sketch for multiple variables function
How do I sketch the domain of the function f(x,y) =dfrac{sqrt(y-x^2)}{(1-x^2)}
How to sketch domain D f(x,y)<=0 on Oxy?
This is for my exercise so I really need some help. Thanks in advanced!How do I sketch the domain of the function f(x,y) =dfrac{sqrt(y-x^2)}{(1-x^2)}
How to sketch domain D f(x,y)<=0 on Oxy?
This is for my exercise so I really need some help. Thanks in advanced! How do I sketch the domain of the function f(x,y) =dfrac{sqrt(y-x^2)}{(1-x^2)}
How to sketch domain D f(x,y)<=0 on Oxy?
This is for my exercise so I really need some help. Thanks in advanced! domain, sketch MATLAB Answers — New Questions
Read in part of large histological (ndpi) file
I want to read in a very large histological image file (file size: 2.05 GB, *.ndpi file, pixel size: 57856 x 1.111e+05) and don’t have enough RAM.
I tried blockedImage and thought it would fit great but still, I am unable to get my data in highest resolution.
I tried:
% p,f are path and filename for the 2.05 GB *.ndpi file
A = blockedImage(strcat(p,f));
levelSizeInfo = table((1:length(A.Size))’, …
A.Size(:,1), …
A.Size(:,2), …
A.Size(:,1)./A.Size(:,2), …
‘VariableNames’,["Resolution Level" "Image Width" "Image Height" "Aspect Ratio"])
and obtained
levelSizeInfo =
9×4 table
Resolution Level Image Width Image Height Aspect Ratio
________________ ___________ ____________ ____________
1 57856 1.111e+05 0.52074
2 28928 55552 0.52074
3 14464 27776 0.52074
4 7232 13888 0.52074
5 3616 6944 0.52074
6 1808 3472 0.52074
7 904 1736 0.52074
8 407 1188 0.34259
9 203 594 0.34175
So I want to assess the resolution level 1 information and therefore tried to split it up in smaller patches:
bls = selectBlockLocations(A,"Levels",1,"BlockSize",[4096, 4096]);
bimds = blockedImageDatastore(A, "BlockLocationSet", bls);
However, I cannot assess these 4096 x 4096 blocks.
I tried to work with:
>> while hasdata(bimds)
[data, info] = read(bimds);
disp(info);
end
Error using images.blocked.TIFF/getIOBlock (line 139)
Out of memory.
But get the above error message. Is there any possibility that I read in my large image and split it up until my memory is sufficient and then assess the data? I don’t want to use lower resolution, since I am really interested in some specific histological information only reliable visible as highest resolution.
I would be also happy, when I would provide voxel coordinate start and end position and split it up manually such that it fits my RAM. I can do it in python but I would like to work with this dataset in Matlab as well.
Similar to this (which was not working either):
>> img = bigimage(strcat(p,f));
%Starting coordinates
coordStart = [250 250];
%Ending Coordinates
coordEnd = [750,750];
%Extract the region between the aforementioned coordinates
blk1 = getRegion(img,1,coordStart, coordEnd);
%Display the image
bigimageshow(bigimage(blk1))
Error using imread (line 440)
Unable to read TIFF file "SSES-1_MAX.ndpi". File is corrupt or image does not contain any readable strips.
Thanks in advance!I want to read in a very large histological image file (file size: 2.05 GB, *.ndpi file, pixel size: 57856 x 1.111e+05) and don’t have enough RAM.
I tried blockedImage and thought it would fit great but still, I am unable to get my data in highest resolution.
I tried:
% p,f are path and filename for the 2.05 GB *.ndpi file
A = blockedImage(strcat(p,f));
levelSizeInfo = table((1:length(A.Size))’, …
A.Size(:,1), …
A.Size(:,2), …
A.Size(:,1)./A.Size(:,2), …
‘VariableNames’,["Resolution Level" "Image Width" "Image Height" "Aspect Ratio"])
and obtained
levelSizeInfo =
9×4 table
Resolution Level Image Width Image Height Aspect Ratio
________________ ___________ ____________ ____________
1 57856 1.111e+05 0.52074
2 28928 55552 0.52074
3 14464 27776 0.52074
4 7232 13888 0.52074
5 3616 6944 0.52074
6 1808 3472 0.52074
7 904 1736 0.52074
8 407 1188 0.34259
9 203 594 0.34175
So I want to assess the resolution level 1 information and therefore tried to split it up in smaller patches:
bls = selectBlockLocations(A,"Levels",1,"BlockSize",[4096, 4096]);
bimds = blockedImageDatastore(A, "BlockLocationSet", bls);
However, I cannot assess these 4096 x 4096 blocks.
I tried to work with:
>> while hasdata(bimds)
[data, info] = read(bimds);
disp(info);
end
Error using images.blocked.TIFF/getIOBlock (line 139)
Out of memory.
But get the above error message. Is there any possibility that I read in my large image and split it up until my memory is sufficient and then assess the data? I don’t want to use lower resolution, since I am really interested in some specific histological information only reliable visible as highest resolution.
I would be also happy, when I would provide voxel coordinate start and end position and split it up manually such that it fits my RAM. I can do it in python but I would like to work with this dataset in Matlab as well.
Similar to this (which was not working either):
>> img = bigimage(strcat(p,f));
%Starting coordinates
coordStart = [250 250];
%Ending Coordinates
coordEnd = [750,750];
%Extract the region between the aforementioned coordinates
blk1 = getRegion(img,1,coordStart, coordEnd);
%Display the image
bigimageshow(bigimage(blk1))
Error using imread (line 440)
Unable to read TIFF file "SSES-1_MAX.ndpi". File is corrupt or image does not contain any readable strips.
Thanks in advance! I want to read in a very large histological image file (file size: 2.05 GB, *.ndpi file, pixel size: 57856 x 1.111e+05) and don’t have enough RAM.
I tried blockedImage and thought it would fit great but still, I am unable to get my data in highest resolution.
I tried:
% p,f are path and filename for the 2.05 GB *.ndpi file
A = blockedImage(strcat(p,f));
levelSizeInfo = table((1:length(A.Size))’, …
A.Size(:,1), …
A.Size(:,2), …
A.Size(:,1)./A.Size(:,2), …
‘VariableNames’,["Resolution Level" "Image Width" "Image Height" "Aspect Ratio"])
and obtained
levelSizeInfo =
9×4 table
Resolution Level Image Width Image Height Aspect Ratio
________________ ___________ ____________ ____________
1 57856 1.111e+05 0.52074
2 28928 55552 0.52074
3 14464 27776 0.52074
4 7232 13888 0.52074
5 3616 6944 0.52074
6 1808 3472 0.52074
7 904 1736 0.52074
8 407 1188 0.34259
9 203 594 0.34175
So I want to assess the resolution level 1 information and therefore tried to split it up in smaller patches:
bls = selectBlockLocations(A,"Levels",1,"BlockSize",[4096, 4096]);
bimds = blockedImageDatastore(A, "BlockLocationSet", bls);
However, I cannot assess these 4096 x 4096 blocks.
I tried to work with:
>> while hasdata(bimds)
[data, info] = read(bimds);
disp(info);
end
Error using images.blocked.TIFF/getIOBlock (line 139)
Out of memory.
But get the above error message. Is there any possibility that I read in my large image and split it up until my memory is sufficient and then assess the data? I don’t want to use lower resolution, since I am really interested in some specific histological information only reliable visible as highest resolution.
I would be also happy, when I would provide voxel coordinate start and end position and split it up manually such that it fits my RAM. I can do it in python but I would like to work with this dataset in Matlab as well.
Similar to this (which was not working either):
>> img = bigimage(strcat(p,f));
%Starting coordinates
coordStart = [250 250];
%Ending Coordinates
coordEnd = [750,750];
%Extract the region between the aforementioned coordinates
blk1 = getRegion(img,1,coordStart, coordEnd);
%Display the image
bigimageshow(bigimage(blk1))
Error using imread (line 440)
Unable to read TIFF file "SSES-1_MAX.ndpi". File is corrupt or image does not contain any readable strips.
Thanks in advance! histological data, ndpi, blockedimage MATLAB Answers — New Questions
why does this line of code give error- disp(“The density of ” + element … + “is” + density). When i press the ‘enter ‘ key after the 3 dots and rerun, it works.
if doPlot == 1
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
else
disp("The Density of " + element … + "is" + density)
endif doPlot == 1
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
else
disp("The Density of " + element … + "is" + density)
end if doPlot == 1
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
else
disp("The Density of " + element … + "is" + density)
end if statement MATLAB Answers — New Questions
i want to link my website with bing webmaster tools how can i do that
Respected Sir
I am the owner of modifiedapk
where i shared modifed apk software games i want to link my website with bing webmaster tools how can i do please help
Respected Sir I am the owner of modifiedapkwhere i shared modifed apk software games i want to link my website with bing webmaster tools how can i do please help Read More
24h2 update not showing
I just ended up opening a video about 24h2 update but it’s not working correctly fine when I went to update option. It showed me that it’s not available right now. Is there any help in you guys can provide me? And I also don’t want to download the ISO because it is very hard. And it is very time taking process. What do you guys think? Microsoft can obviously provide an feature that can help us. Get the of features from that ISO without able to reinstalling Windows and without even restarting our computer. What’s what do you guys think?
I just ended up opening a video about 24h2 update but it’s not working correctly fine when I went to update option. It showed me that it’s not available right now. Is there any help in you guys can provide me? And I also don’t want to download the ISO because it is very hard. And it is very time taking process. What do you guys think? Microsoft can obviously provide an feature that can help us. Get the of features from that ISO without able to reinstalling Windows and without even restarting our computer. What’s what do you guys think? Read More
Adding a second x-axis to each plot in a tiled layout / subplot
I am trying to add a second x-axis to each plot in a tiled layout. Using this tutorial, I was able to add a second x-axis to the first tile. However, as soon as I transition to the next tile, the previous plot disappears and I am just left with a single blank plot. Adding "hold on" to any line in the code didn’t help, neither did plotting the same data a second time. The same problem arises when using subplot().
I would greatly appreciate any help! My code looks like this (I only need the second axis in order to display different x-ticks w.r.t. to the same data, which is why I’m not adding any plots to the second axis):
% create tiledlayout
tiledlayout(2, 2)
nexttile
% plot toy example
hold on
plot(0:10, 0:10)
axis([0 10 0 10])
xticks([2 7])
% add second axis
ax1 = gca;
ax2 = axes(‘Position’, ax1.Position, ‘XAxisLocation’, ‘top’, ‘YAxisLocation’,’right’, ‘Color’,’none’);
axis([0 10 0 10])
xticks([1 8])
% after this line, the plot disappears
nexttileI am trying to add a second x-axis to each plot in a tiled layout. Using this tutorial, I was able to add a second x-axis to the first tile. However, as soon as I transition to the next tile, the previous plot disappears and I am just left with a single blank plot. Adding "hold on" to any line in the code didn’t help, neither did plotting the same data a second time. The same problem arises when using subplot().
I would greatly appreciate any help! My code looks like this (I only need the second axis in order to display different x-ticks w.r.t. to the same data, which is why I’m not adding any plots to the second axis):
% create tiledlayout
tiledlayout(2, 2)
nexttile
% plot toy example
hold on
plot(0:10, 0:10)
axis([0 10 0 10])
xticks([2 7])
% add second axis
ax1 = gca;
ax2 = axes(‘Position’, ax1.Position, ‘XAxisLocation’, ‘top’, ‘YAxisLocation’,’right’, ‘Color’,’none’);
axis([0 10 0 10])
xticks([1 8])
% after this line, the plot disappears
nexttile I am trying to add a second x-axis to each plot in a tiled layout. Using this tutorial, I was able to add a second x-axis to the first tile. However, as soon as I transition to the next tile, the previous plot disappears and I am just left with a single blank plot. Adding "hold on" to any line in the code didn’t help, neither did plotting the same data a second time. The same problem arises when using subplot().
I would greatly appreciate any help! My code looks like this (I only need the second axis in order to display different x-ticks w.r.t. to the same data, which is why I’m not adding any plots to the second axis):
% create tiledlayout
tiledlayout(2, 2)
nexttile
% plot toy example
hold on
plot(0:10, 0:10)
axis([0 10 0 10])
xticks([2 7])
% add second axis
ax1 = gca;
ax2 = axes(‘Position’, ax1.Position, ‘XAxisLocation’, ‘top’, ‘YAxisLocation’,’right’, ‘Color’,’none’);
axis([0 10 0 10])
xticks([1 8])
% after this line, the plot disappears
nexttile subplot, tiledlayout, axis MATLAB Answers — New Questions
Get the frequencies at specific value of amplitude
Hello everyone, I want to split the signal using the Gabor transform and then taking the values of frequency against the maximum value of amplitude within each window. Thank you for helping me.Hello everyone, I want to split the signal using the Gabor transform and then taking the values of frequency against the maximum value of amplitude within each window. Thank you for helping me. Hello everyone, I want to split the signal using the Gabor transform and then taking the values of frequency against the maximum value of amplitude within each window. Thank you for helping me. gabor, fft, frequency, psd, signal processing, signal MATLAB Answers — New Questions
Controlling Notifications in project for the web plans
i am trying to control the notifications sent to the project team on the plan level in project for the web but i don’t find any option to edit the notifications in the plan settings view as attached. 
So what should i do?
i am trying to control the notifications sent to the project team on the plan level in project for the web but i don’t find any option to edit the notifications in the plan settings view as attached.  So what should i do? Read More
Maybe a mistake in the documentation of function ”robgain”
Please refer to this documentation: robgain
as well as this system:
In the example "Robust Performance of Closed-Loop System", it says that "Create a model of the controller, and build the closed-loop sensitivity function, S. The sensitivity measures the closed-loop response at the plant output to a disturbance at the plant input."
The corresponding codes are:
k = ureal(‘k’,10,’Percent’,40);
delta = ultidyn(‘delta’,[1 1]);
G = tf(18,[1 1.8 k]) * (1 + 0.5*delta);
C = pid(2.3,3,0.38,0.001);
S = feedback(1,G*C);
tf(S)
However, when I refer to the documentation of feedback, it seems that the code feedback(1,G*C) actually refers to the closed-loop response at the plant input, instead of that at the plant output. I use the function connect to prove this:
G.InputName = ‘e2’;
G.OutputName = ‘y’;
C.InputName = ‘e1’;
C.OutputName = ‘u’;
S1 = sumblk("e1 = r – y");
S2 = sumblk("e2 = u + d");
inputs = {‘d’};
outputs = {‘e2’};
S = connect(G,C,S1,S2,inputs,outputs);
tf(S)
The preceding two results are the same, which prove my assumption.
To measure the closed-loop response at the plant output to a disturbance at the plant input, the codes should be:
S = feedback(G,C);
tf(S)
or in the "connect" version
G.InputName = ‘e2’;
G.OutputName = ‘y’;
C.InputName = ‘e1’;
C.OutputName = ‘u’;
S1 = sumblk("e1 = r – y");
S2 = sumblk("e2 = u + d");
inputs = {‘d’};
outputs = {‘y’};
S = connect(G,C,S1,S2,inputs,outputs);
tf(S)
Please check other documentatins which also use this sensitivity function.
Best regards.Please refer to this documentation: robgain
as well as this system:
In the example "Robust Performance of Closed-Loop System", it says that "Create a model of the controller, and build the closed-loop sensitivity function, S. The sensitivity measures the closed-loop response at the plant output to a disturbance at the plant input."
The corresponding codes are:
k = ureal(‘k’,10,’Percent’,40);
delta = ultidyn(‘delta’,[1 1]);
G = tf(18,[1 1.8 k]) * (1 + 0.5*delta);
C = pid(2.3,3,0.38,0.001);
S = feedback(1,G*C);
tf(S)
However, when I refer to the documentation of feedback, it seems that the code feedback(1,G*C) actually refers to the closed-loop response at the plant input, instead of that at the plant output. I use the function connect to prove this:
G.InputName = ‘e2’;
G.OutputName = ‘y’;
C.InputName = ‘e1’;
C.OutputName = ‘u’;
S1 = sumblk("e1 = r – y");
S2 = sumblk("e2 = u + d");
inputs = {‘d’};
outputs = {‘e2’};
S = connect(G,C,S1,S2,inputs,outputs);
tf(S)
The preceding two results are the same, which prove my assumption.
To measure the closed-loop response at the plant output to a disturbance at the plant input, the codes should be:
S = feedback(G,C);
tf(S)
or in the "connect" version
G.InputName = ‘e2’;
G.OutputName = ‘y’;
C.InputName = ‘e1’;
C.OutputName = ‘u’;
S1 = sumblk("e1 = r – y");
S2 = sumblk("e2 = u + d");
inputs = {‘d’};
outputs = {‘y’};
S = connect(G,C,S1,S2,inputs,outputs);
tf(S)
Please check other documentatins which also use this sensitivity function.
Best regards. Please refer to this documentation: robgain
as well as this system:
In the example "Robust Performance of Closed-Loop System", it says that "Create a model of the controller, and build the closed-loop sensitivity function, S. The sensitivity measures the closed-loop response at the plant output to a disturbance at the plant input."
The corresponding codes are:
k = ureal(‘k’,10,’Percent’,40);
delta = ultidyn(‘delta’,[1 1]);
G = tf(18,[1 1.8 k]) * (1 + 0.5*delta);
C = pid(2.3,3,0.38,0.001);
S = feedback(1,G*C);
tf(S)
However, when I refer to the documentation of feedback, it seems that the code feedback(1,G*C) actually refers to the closed-loop response at the plant input, instead of that at the plant output. I use the function connect to prove this:
G.InputName = ‘e2’;
G.OutputName = ‘y’;
C.InputName = ‘e1’;
C.OutputName = ‘u’;
S1 = sumblk("e1 = r – y");
S2 = sumblk("e2 = u + d");
inputs = {‘d’};
outputs = {‘e2’};
S = connect(G,C,S1,S2,inputs,outputs);
tf(S)
The preceding two results are the same, which prove my assumption.
To measure the closed-loop response at the plant output to a disturbance at the plant input, the codes should be:
S = feedback(G,C);
tf(S)
or in the "connect" version
G.InputName = ‘e2’;
G.OutputName = ‘y’;
C.InputName = ‘e1’;
C.OutputName = ‘u’;
S1 = sumblk("e1 = r – y");
S2 = sumblk("e2 = u + d");
inputs = {‘d’};
outputs = {‘y’};
S = connect(G,C,S1,S2,inputs,outputs);
tf(S)
Please check other documentatins which also use this sensitivity function.
Best regards. robust control toolbox, control, help, robgain MATLAB Answers — New Questions
creating a function to solve non linear equations using simple iteration method
Create a Matlab function named (solveIteration) for solving a non-linear equation using
(Simple iteration method) and takes the following inputs: g: function, x0 initial guess TolX as
Termination tolerance on the function value, a positive scalar (when to stop iteration) and
Maxiter as the max number of iterations if reached means the function has no solution
The function returns the following outputs : x as a root(s) of the equation ,error as error
message if the equation has no solutions
Function seems like below one:
function [x,error] = solveIteration(g,x0,TolX,MaxIter)
…
any hints ??Create a Matlab function named (solveIteration) for solving a non-linear equation using
(Simple iteration method) and takes the following inputs: g: function, x0 initial guess TolX as
Termination tolerance on the function value, a positive scalar (when to stop iteration) and
Maxiter as the max number of iterations if reached means the function has no solution
The function returns the following outputs : x as a root(s) of the equation ,error as error
message if the equation has no solutions
Function seems like below one:
function [x,error] = solveIteration(g,x0,TolX,MaxIter)
…
any hints ?? Create a Matlab function named (solveIteration) for solving a non-linear equation using
(Simple iteration method) and takes the following inputs: g: function, x0 initial guess TolX as
Termination tolerance on the function value, a positive scalar (when to stop iteration) and
Maxiter as the max number of iterations if reached means the function has no solution
The function returns the following outputs : x as a root(s) of the equation ,error as error
message if the equation has no solutions
Function seems like below one:
function [x,error] = solveIteration(g,x0,TolX,MaxIter)
…
any hints ?? numeric equation solving MATLAB Answers — New Questions
Boxplot for both x and y axis with different box widths.
How can we make a boxplot like the one below for both x and y data (the box widths of each group that are x-data related are different). I tried boxplot(X,Y, group) but it did not work.How can we make a boxplot like the one below for both x and y data (the box widths of each group that are x-data related are different). I tried boxplot(X,Y, group) but it did not work. How can we make a boxplot like the one below for both x and y data (the box widths of each group that are x-data related are different). I tried boxplot(X,Y, group) but it did not work. boxplot, different box width MATLAB Answers — New Questions
In R2024a, when searching for components using Chinese after double clicking on the Simulink interface, it will get stuck
This issue is causing me a lot of trouble when using Simulink, and I hope it can be resolved. There is no such issue in 2020b, and there is no such issue when searching in English in 2024a.This issue is causing me a lot of trouble when using Simulink, and I hope it can be resolved. There is no such issue in 2020b, and there is no such issue when searching in English in 2024a. This issue is causing me a lot of trouble when using Simulink, and I hope it can be resolved. There is no such issue in 2020b, and there is no such issue when searching in English in 2024a. r2024a, simulink, search MATLAB Answers — New Questions
Speeding up matrix expotentials by using GPU
Hey all:
I am trying to accelerate the speed of calculation of high dimisional matrix expotential by using GPU, but I find that the speed of calculating them on CPU is faster than GPU, and I can’t find where the problem is. The code is:
dev = gpuDevice();
CPU_time = 0;
GPU_time = 0;
for i = 1:10
CPU_matrix = rand(4096, 4096);
GPU_matrix = gpuArray(complex(CPU_matrix));
tic;
Exp_CPU = expm(-1i * CPU_matrix);
CPU_time = CPU_time + toc;
tic;
Exp_GPU = expm(-1i * GPU_matrix);
GPU_time = GPU_time + toc;
end
disp("CPU time:" + string(CPU_time));
disp("GPU time:" + string(GPU_time));
I tested this code using my computer, and its CPU configuration is: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz, RAM 16 GB. Its GPU configuration is: NVIDIA GeForce GTX 1650. The final result is:
CPU time:452.1338
GPU time:915.5892
Why the speed of GPU is slower than CPU?
ThanksHey all:
I am trying to accelerate the speed of calculation of high dimisional matrix expotential by using GPU, but I find that the speed of calculating them on CPU is faster than GPU, and I can’t find where the problem is. The code is:
dev = gpuDevice();
CPU_time = 0;
GPU_time = 0;
for i = 1:10
CPU_matrix = rand(4096, 4096);
GPU_matrix = gpuArray(complex(CPU_matrix));
tic;
Exp_CPU = expm(-1i * CPU_matrix);
CPU_time = CPU_time + toc;
tic;
Exp_GPU = expm(-1i * GPU_matrix);
GPU_time = GPU_time + toc;
end
disp("CPU time:" + string(CPU_time));
disp("GPU time:" + string(GPU_time));
I tested this code using my computer, and its CPU configuration is: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz, RAM 16 GB. Its GPU configuration is: NVIDIA GeForce GTX 1650. The final result is:
CPU time:452.1338
GPU time:915.5892
Why the speed of GPU is slower than CPU?
Thanks Hey all:
I am trying to accelerate the speed of calculation of high dimisional matrix expotential by using GPU, but I find that the speed of calculating them on CPU is faster than GPU, and I can’t find where the problem is. The code is:
dev = gpuDevice();
CPU_time = 0;
GPU_time = 0;
for i = 1:10
CPU_matrix = rand(4096, 4096);
GPU_matrix = gpuArray(complex(CPU_matrix));
tic;
Exp_CPU = expm(-1i * CPU_matrix);
CPU_time = CPU_time + toc;
tic;
Exp_GPU = expm(-1i * GPU_matrix);
GPU_time = GPU_time + toc;
end
disp("CPU time:" + string(CPU_time));
disp("GPU time:" + string(GPU_time));
I tested this code using my computer, and its CPU configuration is: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz, RAM 16 GB. Its GPU configuration is: NVIDIA GeForce GTX 1650. The final result is:
CPU time:452.1338
GPU time:915.5892
Why the speed of GPU is slower than CPU?
Thanks gpu, matrix, matlab, time, expotential MATLAB Answers — New Questions
weird word double crash
Hi, I try to open older docx files and word (office 365) shows the file for two seconds, then shuts down and reloads. Sometimes it does this even twice. Safe mode does not make any difference.
I have zotero installed as the only extension and virus protection is up to date. Anyone any idea what could be going on?
Hi, I try to open older docx files and word (office 365) shows the file for two seconds, then shuts down and reloads. Sometimes it does this even twice. Safe mode does not make any difference. I have zotero installed as the only extension and virus protection is up to date. Anyone any idea what could be going on? Read More
need help in setting up record site in Sharepoint
Hi All,
My client has setup a record site in sharepoint. I need help in setting up and configuring all the rules. Could someone please help me with this. I am new to this.
Hi All, My client has setup a record site in sharepoint. I need help in setting up and configuring all the rules. Could someone please help me with this. I am new to this. Read More
General Purpose to Business Critical Azure SQL database upgrade
Recently, we faced a requirement to upgrade large number of Azure SQL databases from general-purpose to business-critical.
As you’re aware, this scaling-up operation can be executed via PowerShell, CLI, or the Azure portal and follow the guidance mentioned here – Failover groups overview & best practices – Azure SQL Managed Instance | Microsoft Learn
Given the need to perform this task across a large number of databases, individually running commands for each server is not practical. Hence, I have created a PowerShell script to facilitate such extensive migrations.
Important consideration:
# This script performs an upgrade of Azure SQL databases to a specified SKU.
# The script also handles geo-replicated databases by upgrading the secondary first, then the primary, and finally any other databases without replication links.
# The script logs the progress and outcome of each database upgrade to the console and a log file.
# Disclaimer: This script is provided as-is, without any warranty or support. Use it at your own risk.
# Before running this script, make sure to test it in a non-production environment and review the impact of the upgrade on your databases and applications.
# The script may take a long time to complete, depending on the number and size of the databases to be upgraded.
# The script may incur additional charges for the upgraded databases, depending on the target SKU and the duration of the upgrade process.
# The script requires the Az PowerShell module and the appropriate permissions to access and modify the Azure SQL databases.
<#
.Description
# This is an upgrade script for upgrading AzureSQL Databases to the desired SKU.
# The script covers various scenarios and performs the following tasks:
# Scenarios being tested:
# 1) Jobs will be executed in parallel.
# 2) The script will upgrade secondary databases first, then the primary.
# 3) Upgrade the database based on the primary listed in the database info list.
# 4) Script will perform the check prior to the migration in case of the role has changed from primary to secondary of the database mentioned in the database info list.
# 5) Upgrade individual databases in case of no primary/secondary found for a given database.
# 6) Upgrade the database if secondary is upgraded but primary has not been upgraded. Running the script again will skip the secondary and upgrade the primary database.
# In other words, SLO mismatch will be handled based on the SKU defined in the database info list.
# 7) Track the database progress and display the progress in the console.
##Database info list is required in order to perform an upgrade:
DatabaseName: Name of the database to be upgraded.
PartnerResourceGroupName: Name of the resource group where the secondary database is located.
ServerName: Name of the server where the primary database is located.
ResourceGroupName : Name of the resource group where the primary database is located
RequestedServiceObjectiveName: Desired SKU to be upgraded to.
#>
# Define the list of database information
$DatabaseInfoList = @(
#@{ DatabaseName = ‘{DatabaseName}’; PartnerResourceGroupName = ‘{PartnerResourcegroupName}’; ServerName = ‘{ServerName}’ ; ResourceGroupName = ‘{ResourceGroupName}’; RequestedServiceObjectiveName = ‘{SLODetails}’; subscriptionID = ‘{SubscriptionID}’ }
)
# Define the script block that performs the update
$ScriptBlock = {
param (
$DatabaseInfo
)
Set-AzContext -subscriptionId $DatabaseInfo.subscriptionID
###store output in txt file
$OutputFilePath = “C:temp$($DatabaseInfo.DatabaseName)_$($env:USERNAME)_$($Job.Id)_Output.txt”
$OutputCapture = @()
$OutputCapture += “Database: $($DatabaseInfo.DatabaseName)”
$ReplicationLink = Get-AzSqlDatabaseReplicationLink -DatabaseName $DatabaseInfo.DatabaseName -PartnerResourceGroupName $DatabaseInfo.PartnerResourceGroupName -ServerName $DatabaseInfo.ServerName -ResourceGroupName $DatabaseInfo.ResourceGroupName
$PrimaryServerRole = $ReplicationLink.Role
$PrimaryResourceGroupName = $ReplicationLink.ResourceGroupName
$PrimaryServerName = $ReplicationLink.ServerName
$PrimaryDatabaseName = $ReplicationLink.DatabaseName
$PartnerRole = $ReplicationLink.PartnerRole
$PartnerServerName = $ReplicationLink.PartnerServerName
$PartnerDatabaseName = $ReplicationLink.PartnerDatabaseName
$PartnerResourceGroupName = $ReplicationLink.PartnerResourceGroupName
$UpdateSecondary = $false
$UpdatePrimary = $false
if ($PartnerRole -eq “Secondary” -and $PrimaryServerRole -eq “Primary”) {
$UpdateSecondary = $true
$UpdatePrimary = $true
}
#For Failover Scenarios only
elseif ($PartnerRole -eq “Primary” -and $PrimaryServerRole -eq “Secondary”) {
$UpdateSecondary = $true
$UpdatePrimary = $true
$PartnerRole = $ReplicationLink.Role
$PartnerServerName = $ReplicationLink.ServerName
$PartnerDatabaseName = $ReplicationLink.DatabaseName
$PartnerResourceGroupName = $ReplicationLink.ResourceGroupName
$PrimaryServerRole = $ReplicationLink.PartnerRole
$PrimaryResourceGroupName = $ReplicationLink.PartnerResourceGroupName
$PrimaryServerName = $ReplicationLink.PartnerServerName
$PrimaryDatabaseName = $ReplicationLink.PartnerDatabaseName
}
Try
{
if ($UpdateSecondary) {
$DatabaseProperties = Get-AzSqlDatabase -ResourceGroupName $PartnerResourceGroupName -ServerName $PartnerServerName -DatabaseName $PartnerDatabaseName
#$DatabaseEdition = $DatabaseProperties.Edition
$DatabaseSKU = $DatabaseProperties.RequestedServiceObjectiveName
if ($DatabaseSKU -ne $DatabaseInfo.RequestedServiceObjectiveName) {
Write-host “Secondary started at $(Get-Date) of DB $UpdateSecondary”
$OutputCapture += “Secondary started at $(Get-Date) of DB $UpdateSecondary”
Set-AzSqlDatabase -ResourceGroupName $PartnerResourceGroupName -DatabaseName $PartnerDatabaseName -ServerName $PartnerServerName -Edition “BusinessCritical” -RequestedServiceObjectiveName $DatabaseInfo.RequestedServiceObjectiveName
Write-host “Secondary end at $(Get-Date)”
$OutputCapture += “Secondary end at $(Get-Date)”
# Start Track Progress
$activities = Get-AzSqlDatabaseActivity -ResourceGroupName $PartnerResourceGroupName -ServerName $PartnerServerName -DatabaseName $PartnerDatabaseName |
Where-Object {$_.State -eq “InProgress” -or $_.State -eq “Succeeded” -or $_.State -eq “Failed”} | Sort-Object -Property StartTime -Descending | Select-Object -First 1
if ($activities.Count -gt 0) {
Write-Host “Operations in progress or completed for $($PartnerDatabaseName):”
$OutputCapture += “Operations in progress or completed for $($PartnerDatabaseName):”
foreach ($activity in $activities) {
Write-Host “Activity Start Time: $($activity.StartTime) , Activity Estimated Completed Time: $($activity.EstimatedCompletionTime) , Activity ID: $($activity.OperationId), Server Name: $($activity.ServerName), Database Name: $($activity.DatabaseName), Status: $($activity.State), Percent Complete: $($activity.PercentComplete)%, Description: $($activity.Description)”
$OutputCapture += “Activity Start Time: $($activity.StartTime) , Activity Estimated Completed Time: $($activity.EstimatedCompletionTime) , Activity ID: $($activity.OperationId), Server Name: $($activity.ServerName), Database Name: $($activity.DatabaseName), Status: $($activity.State), Percent Complete: $($activity.PercentComplete)%, Description: $($activity.Description)”
}
Write-Host “$PartnerDatabaseName Upgrade Successfully Completed!”
$OutputCapture += “$PartnerDatabaseName Upgrade Successfully Completed!”
} else {
Write-Host “No operations in progress or completed for $($PartnerDatabaseName)”
$OutputCapture += “No operations in progress or completed for $($PartnerDatabaseName)”
}
# End Track Progress
#
}
else {
Write-host “Database $PartnerDatabaseName is already upgraded.”
$OutputCapture += “Database $PartnerDatabaseName is already upgraded.”
}
}
if ($UpdatePrimary) {
$DatabaseProperties = Get-AzSqlDatabase -ResourceGroupName $PrimaryResourceGroupName -ServerName $PrimaryServerName -DatabaseName $PrimaryDatabaseName
# $DatabaseEdition = $DatabaseProperties.Edition
$DatabaseSKU = $DatabaseProperties.RequestedServiceObjectiveName
if ($DatabaseSKU -ne $DatabaseInfo.RequestedServiceObjectiveName){
Write-host “Primary started at $(Get-Date) of DB $UpdatePrimary”
$OutputCapture += “Primary started at $(Get-Date) of DB $UpdatePrimary”
Set-AzSqlDatabase -ResourceGroupName $PrimaryResourceGroupName -DatabaseName $PrimaryDatabaseName -ServerName $PrimaryServerName -Edition “BusinessCritical” -RequestedServiceObjectiveName $DatabaseInfo.RequestedServiceObjectiveName
Write-host “Primary end at $(Get-Date)”
$OutputCapture += “Primary end at $(Get-Date)”
# Start Track Progress
$activities = Get-AzSqlDatabaseActivity -ResourceGroupName $PrimaryResourceGroupName -ServerName $PrimaryServerName -DatabaseName $PrimaryDatabaseName |
Where-Object {$_.State -eq “InProgress” -or $_.State -eq “Succeeded” -or $_.State -eq “Failed”} | Sort-Object -Property StartTime -Descending | Select-Object -First 1
if ($activities.Count -gt 0) {
Write-Host “Operations in progress or completed for $($PrimaryDatabaseName):”
$OutputCapture += “Operations in progress or completed for $($PrimaryDatabaseName):”
foreach ($activity in $activities) {
Write-Host “Activity Start Time: $($activity.StartTime) , Activity Estimated Completed Time: $($activity.EstimatedCompletionTime) , Activity ID: $($activity.OperationId), Server Name: $($activity.ServerName), Database Name: $($activity.DatabaseName), Status: $($activity.State), Percent Complete: $($activity.PercentComplete)%, Description: $($activity.Description)”
$OutputCapture += “Activity Start Time: $($activity.StartTime) , Activity Estimated Completed Time: $($activity.EstimatedCompletionTime) , Activity ID: $($activity.OperationId), Server Name: $($activity.ServerName), Database Name: $($activity.DatabaseName), Status: $($activity.State), Percent Complete: $($activity.PercentComplete)%, Description: $($activity.Description)”
}
Write-Host “$PrimaryDatabaseName Upgrade Successfully Completed!”
$OutputCapture += “$PrimaryDatabaseName Upgrade Successfully Completed!”
} else {
Write-Host “No operations in progress or completed for $($PrimaryDatabaseName)”
$OutputCapture += “No operations in progress or completed for $($PrimaryDatabaseName)”
}
# End Track Progress
#
}
else {
Write-host “Database $PrimaryDatabaseName is already upgraded.”
$OutputCapture += “Database $PrimaryDatabaseName is already upgraded.”
}
}
if (!$UpdateSecondary -and !$UpdatePrimary) {
$DatabaseProperties = Get-AzSqlDatabase -ResourceGroupName $DatabaseInfo.ResourceGroupName -ServerName $DatabaseInfo.ServerName -DatabaseName $DatabaseInfo.DatabaseName
# $DatabaseEdition = $DatabaseProperties.Edition
$DatabaseSKU = $DatabaseProperties.RequestedServiceObjectiveName
If ($DatabaseSKU -ne $DatabaseInfo.RequestedServiceObjectiveName) {
Write-Host “No Replica Found.”
$OutputCapture += “No Replica Found.”
Write-host “Upgrade started at $(Get-Date)”
$OutputCapture += “Upgrade started at $(Get-Date)”
Set-AzSqlDatabase -ResourceGroupName $DatabaseInfo.ResourceGroupName -DatabaseName $DatabaseInfo.DatabaseName -ServerName $DatabaseInfo.ServerName -Edition “BusinessCritical” -RequestedServiceObjectiveName $DatabaseInfo.RequestedServiceObjectiveName
Write-host “Upgrade completed at $(Get-Date)”
$OutputCapture += “Upgrade completed at $(Get-Date)”
# Start Track Progress
$activities = Get-AzSqlDatabaseActivity -ResourceGroupName $DatabaseInfo.ResourceGroupName -ServerName $DatabaseInfo.ServerName -DatabaseName $DatabaseInfo.DatabaseName |
Where-Object {$_.State -eq “InProgress” -or $_.State -eq “Succeeded” -or $_.State -eq “Failed”} | Sort-Object -Property StartTime -Descending | Select-Object -First 1
if ($activities.Count -gt 0) {
Write-Host “Operations in progress or completed for $($DatabaseInfo.DatabaseName):”
$OutputCapture += “Operations in progress or completed for $($DatabaseInfo.DatabaseName):”
foreach ($activity in $activities) {
Write-Host “Activity Start Time: $($activity.StartTime) , Activity Estimated Completed Time: $($activity.EstimatedCompletionTime) , Activity ID: $($activity.OperationId), Server Name: $($activity.ServerName), Database Name: $($activity.DatabaseName), Status: $($activity.State), Percent Complete: $($activity.PercentComplete)%, Description: $($activity.Description)”
$OutputCapture += “Activity Start Time: $($activity.StartTime) , Activity Estimated Completed Time: $($activity.EstimatedCompletionTime) , Activity ID: $($activity.OperationId), Server Name: $($activity.ServerName), Database Name: $($activity.DatabaseName), Status: $($activity.State), Percent Complete: $($activity.PercentComplete)%, Description: $($activity.Description)”
}
Write-Host ” “$DatabaseInfo.DatabaseName” Upgrade Successfully Completed!”
$OutputCapture += “$($DatabaseInfo.DatabaseName) Upgrade Successfully Completed!”
} else {
Write-Host “No operations in progress or completed for $($DatabaseInfo.DatabaseName)”
$OutputCapture += “No operations in progress or completed for $($DatabaseInfo.DatabaseName)”
}
# End Track Progress
# Write-Host ” “$DatabaseInfo.DatabaseName” Upgrade Successfully Completed!”
}
else {
Write-host “Database “$DatabaseInfo.DatabaseName” is already upgraded.”
$OutputCapture += “Database $($DatabaseInfo.DatabaseName) is already upgraded.”
}
$OutputCapture += “Secondary started at $(Get-Date) of DB $UpdateSecondary”
}
}
Catch
{
# Catch any error
Write-Output “Error occurred: $_”
$OutputCapture += “Error occurred: $_”
}
Finally
{
Write-Host “Upgrade Successfully Completed!”
$OutputCapture += “Upgrade Successfully Completed!”
# Output the captured messages to the file
$OutputCapture | Out-File -FilePath $OutputFilePath
}
}
# Loop through each database and start a background job
foreach ($DatabaseInfo in $DatabaseInfoList) {
Start-Job -ScriptBlock $ScriptBlock -ArgumentList $DatabaseInfo
}
# Wait for all background jobs to complete
Get-Job | Wait-Job
# Retrieve and display job results
#Get-Job | Receive-Job
Get-Job | ForEach-Object {
$Job = $_
$OutputFilePath = “C:temp$($Job.Id)_Output.txt”
Receive-Job -Job $Job | Out-File -FilePath $OutputFilePath # Append job output to the text file
}
# Clean up background jobs
Get-Job | Remove-Job -Force
write-host “Execution Completed successfully.”
$OutputCapture += “Execution Completed successfully.”
Microsoft Tech Community – Latest Blogs –Read More
How to calculate HF/LF from ECG data
Hi, I am university student and doing reseach regarding relaxation methods by deep breathing.
So, I’d like to know HF/LF from subject’s ECG data. However I can’t come up with MATLAB code to calculate it.
if you have any idea, please help me.
file type is ‘.txt’ (attached file)Hi, I am university student and doing reseach regarding relaxation methods by deep breathing.
So, I’d like to know HF/LF from subject’s ECG data. However I can’t come up with MATLAB code to calculate it.
if you have any idea, please help me.
file type is ‘.txt’ (attached file) Hi, I am university student and doing reseach regarding relaxation methods by deep breathing.
So, I’d like to know HF/LF from subject’s ECG data. However I can’t come up with MATLAB code to calculate it.
if you have any idea, please help me.
file type is ‘.txt’ (attached file) #hf/lf, #hrv, frequency analysis MATLAB Answers — New Questions