Remove outliers but be careful with end points
Hi, I have some typcial data like this that I want to remove the outliers (red arrows)
I use the rmoutliers function and then fillmissing to handle these.
%For last plotted Data
ax=app.UIAxes3;
[datax,datay] = getDataFromGraph(app,ax,1); % my fucntion that gets the last plot x and y values.
A=[datax datay];
[B,TFrm,TFoutlier] = rmoutliers(A,"movmedian",10);
x=B(:,1); y=B(:,2); hold(ax,"on");
The contraint I have is if I remove an outlier from the 1st or last data point (i.e. green arrow above), then it MUST be replaced with e.g the nearest non outlier.
So I thought this would do it:
F = fillmissing(y,’linear’,’EndValues’,’nearest’); %F = fillmissing(y,’movmedian’,10);
plot(ax,x,F,’.-‘);
However, its ignoring the last point (I dont mind other outliers being ignored, I just need the starting x and finishing x to be the same as the original data
ThanksHi, I have some typcial data like this that I want to remove the outliers (red arrows)
I use the rmoutliers function and then fillmissing to handle these.
%For last plotted Data
ax=app.UIAxes3;
[datax,datay] = getDataFromGraph(app,ax,1); % my fucntion that gets the last plot x and y values.
A=[datax datay];
[B,TFrm,TFoutlier] = rmoutliers(A,"movmedian",10);
x=B(:,1); y=B(:,2); hold(ax,"on");
The contraint I have is if I remove an outlier from the 1st or last data point (i.e. green arrow above), then it MUST be replaced with e.g the nearest non outlier.
So I thought this would do it:
F = fillmissing(y,’linear’,’EndValues’,’nearest’); %F = fillmissing(y,’movmedian’,10);
plot(ax,x,F,’.-‘);
However, its ignoring the last point (I dont mind other outliers being ignored, I just need the starting x and finishing x to be the same as the original data
Thanks Hi, I have some typcial data like this that I want to remove the outliers (red arrows)
I use the rmoutliers function and then fillmissing to handle these.
%For last plotted Data
ax=app.UIAxes3;
[datax,datay] = getDataFromGraph(app,ax,1); % my fucntion that gets the last plot x and y values.
A=[datax datay];
[B,TFrm,TFoutlier] = rmoutliers(A,"movmedian",10);
x=B(:,1); y=B(:,2); hold(ax,"on");
The contraint I have is if I remove an outlier from the 1st or last data point (i.e. green arrow above), then it MUST be replaced with e.g the nearest non outlier.
So I thought this would do it:
F = fillmissing(y,’linear’,’EndValues’,’nearest’); %F = fillmissing(y,’movmedian’,10);
plot(ax,x,F,’.-‘);
However, its ignoring the last point (I dont mind other outliers being ignored, I just need the starting x and finishing x to be the same as the original data
Thanks rmoutliers, fillmissing MATLAB Answers — New Questions
Capabilities of mass action kinetics
Hi,
I have a molecule A. Molecule A can undergo a system of reactions as seen in the figure below.
Basically it can undergo a network of reactions (a custom combination of parallel and consequetive reversible steps ending with a final irreversible step). I have the rate constants (both forward and reverse for reversible steps) for all these steps.
Tilll now, i have been manually coding the time evolution of systems like these, using a system of first order coupled linear differential equations (solving a master equation). But the networks are getting complicated.
Solving this would get easier if I could use a MATLAB app which would help me build a network without manually coding it in.
Recently I came across this "Mass Action Kinetics" module in matlab. Does this module have the capability to solve systems like this? Is there anything else MATLAB has that can help me.
Thanks!Hi,
I have a molecule A. Molecule A can undergo a system of reactions as seen in the figure below.
Basically it can undergo a network of reactions (a custom combination of parallel and consequetive reversible steps ending with a final irreversible step). I have the rate constants (both forward and reverse for reversible steps) for all these steps.
Tilll now, i have been manually coding the time evolution of systems like these, using a system of first order coupled linear differential equations (solving a master equation). But the networks are getting complicated.
Solving this would get easier if I could use a MATLAB app which would help me build a network without manually coding it in.
Recently I came across this "Mass Action Kinetics" module in matlab. Does this module have the capability to solve systems like this? Is there anything else MATLAB has that can help me.
Thanks! Hi,
I have a molecule A. Molecule A can undergo a system of reactions as seen in the figure below.
Basically it can undergo a network of reactions (a custom combination of parallel and consequetive reversible steps ending with a final irreversible step). I have the rate constants (both forward and reverse for reversible steps) for all these steps.
Tilll now, i have been manually coding the time evolution of systems like these, using a system of first order coupled linear differential equations (solving a master equation). But the networks are getting complicated.
Solving this would get easier if I could use a MATLAB app which would help me build a network without manually coding it in.
Recently I came across this "Mass Action Kinetics" module in matlab. Does this module have the capability to solve systems like this? Is there anything else MATLAB has that can help me.
Thanks! differential equations, matrix manipulation, kinetics MATLAB Answers — New Questions
Generate n random numbers between 0.1 and 0.9 without repetition
Hi all,
I need to generate random points where and , excluding the point . My attempt is the following:
%define the lower limit
lower_limit = 0.1;
%define the upper limit
higher_limit = 0.9;
%No of random points
No_pts = 20;
%excluding value
No_value = 0.5
%Generate
valid_vals = setdiff(lower_limit:higher_limit, No_value);
result = valid_vals( randi(length(valid_vals), No_pts, 2) );
When running this code I only get one value which is . Any idea how this can be modified to work properly?
Thanks.Hi all,
I need to generate random points where and , excluding the point . My attempt is the following:
%define the lower limit
lower_limit = 0.1;
%define the upper limit
higher_limit = 0.9;
%No of random points
No_pts = 20;
%excluding value
No_value = 0.5
%Generate
valid_vals = setdiff(lower_limit:higher_limit, No_value);
result = valid_vals( randi(length(valid_vals), No_pts, 2) );
When running this code I only get one value which is . Any idea how this can be modified to work properly?
Thanks. Hi all,
I need to generate random points where and , excluding the point . My attempt is the following:
%define the lower limit
lower_limit = 0.1;
%define the upper limit
higher_limit = 0.9;
%No of random points
No_pts = 20;
%excluding value
No_value = 0.5
%Generate
valid_vals = setdiff(lower_limit:higher_limit, No_value);
result = valid_vals( randi(length(valid_vals), No_pts, 2) );
When running this code I only get one value which is . Any idea how this can be modified to work properly?
Thanks. random, points, vectors, matlab MATLAB Answers — New Questions
Editing an Aircraft Actor in Simulink-Unreal Simulation
Hello,
As part of my project, I am simulating an aircraft using Simulink, and I have set up a Simulink system to communicate with Unreal Engine (as shown in the attached image). The issue I’m facing is that when I open the Unreal project AutoVrtlEnv, which is ported from MATLAB to Unreal, I can edit the airport scene but not the aircraft itself. The aircraft is an actor class that is dynamically spawned in Unreal via the Simulation 3D Aircraft Block.
The problem is that this aircraft actor (as shown in the attached image) does not exist when the simulation is not running—it only appears once the simulation starts. While I can technically edit these dynamically spawned actors by pausing the simulation, any changes I make are lost when the simulation restarts, as the actors are recreated from scratch.
I need to modify the Sim3dMainCamera under the Sim3dMWAirliner actor class. Is there a way to modify or duplicate it so that I can edit it as a separate class without losing my changes?
Any guidance would be greatly appreciated!Hello,
As part of my project, I am simulating an aircraft using Simulink, and I have set up a Simulink system to communicate with Unreal Engine (as shown in the attached image). The issue I’m facing is that when I open the Unreal project AutoVrtlEnv, which is ported from MATLAB to Unreal, I can edit the airport scene but not the aircraft itself. The aircraft is an actor class that is dynamically spawned in Unreal via the Simulation 3D Aircraft Block.
The problem is that this aircraft actor (as shown in the attached image) does not exist when the simulation is not running—it only appears once the simulation starts. While I can technically edit these dynamically spawned actors by pausing the simulation, any changes I make are lost when the simulation restarts, as the actors are recreated from scratch.
I need to modify the Sim3dMainCamera under the Sim3dMWAirliner actor class. Is there a way to modify or duplicate it so that I can edit it as a separate class without losing my changes?
Any guidance would be greatly appreciated! Hello,
As part of my project, I am simulating an aircraft using Simulink, and I have set up a Simulink system to communicate with Unreal Engine (as shown in the attached image). The issue I’m facing is that when I open the Unreal project AutoVrtlEnv, which is ported from MATLAB to Unreal, I can edit the airport scene but not the aircraft itself. The aircraft is an actor class that is dynamically spawned in Unreal via the Simulation 3D Aircraft Block.
The problem is that this aircraft actor (as shown in the attached image) does not exist when the simulation is not running—it only appears once the simulation starts. While I can technically edit these dynamically spawned actors by pausing the simulation, any changes I make are lost when the simulation restarts, as the actors are recreated from scratch.
I need to modify the Sim3dMainCamera under the Sim3dMWAirliner actor class. Is there a way to modify or duplicate it so that I can edit it as a separate class without losing my changes?
Any guidance would be greatly appreciated! simulink, simulation, unreal engine MATLAB Answers — New Questions
The Return of the General Channel
Teams Can Have a General Channel Just Like Before
In July 2024, Microsoft announced that team owners would be able to rename the General channel (or local language value) of teams. The idea was that “General” is just too general in nature and that it would be better if team owners could assign a more meaningful name to the first channel created in a team. Once
Now Microsoft has reversed course a tad. Message center notification MC1048628 (updated 9 April 2025) says that team owners can choose General as the name for the first channel. The new channel creation UI even has a button to set the channel name to “General” (Figure 1). The change is already effective in targeted release tenants and will roll out worldwide in mid-May 2025.

The big thing about using General as the default channel name is that the General channel is always listed first in the channels for a team. If you use a different name for the first channel, Teams orders the channel list alphabetically. You can see the effect of renaming the General channel in Figure 2.

Channel Creation Made Easier
MC1053645 (11 April 2025, Microsoft 365 roadmap item 479744) describes another channel-related change that will roll out to targeted release tenants in early May. The option to create a new channel is now present in the New Items menu (Figure 2).

Recent conference appearances by the Teams development group have emphasized that users should create channels rather than new teams. With 1,000 channels available in a team, there’s lots of room to avoid creating new teams with the attendant overhead that comes with a team. The more teams in a tenant, the higher the likelihood for digital debris. That wasn’t such a problem years ago, but digital debris can influence the accuracy and usefulness of AI-generated content, so it’s a real issue now.
No More Code Snippets
In other Teams news related to channels, MC1055554 (15 April 2025) announces the retirement of the code snippets feature in chat and channel conversations starting May 30, 2025. Microsoft is replacing code snippets with code blocks. Type /code in the editor or click on the code block icon in the menu bar to insert a new block, and then select the type of code so that the block displays the code appropriately (Figure 4).

Microsoft believes that code blocks are faster and more efficient. Line numbers aren’t current available in code blocks but will be soon, and code blocks will also be viewable on mobile clients.
You might ask what’s driving the change. I think it’s a matter of Teams dropping an older component that doesn’t probably get much use for a shared component that’s under active development. Microsoft says that the change will allow users to “create, edit, and share code directly in the compose box without needing a title.” That’s true when someone composes a message, but if you want channel or chat members to be able to edit code in a code block, considering using the Loop paragraph component and format it as code (Figure 5).

Posting a Loop component to a channel allows team members to edit the content, so it’s possible to have real-time collaboration to discuss code issues and potential solutions. Loop components posted in this manner are stored in the channel folder in the document library of the SharePoint Online site belonging to the team.
Adieu Classic Teams
Another change that’s coming up is that the classic Teams client will be unavailable after July 1, 2025 (MC1059667, 21 April 2025). Microsoft will block attempted access to Teams with the classic client after that date. It really is time to embrace the new (well, slightly used) Teams client.
Learn about using Teams and the rest of Microsoft 365 by subscribing to the Office 365 for IT Pros eBook. Use our experience to understand what’s important and how best to protect your tenant.
closed countour around a given point
Hi and I’d like to say thanks in advance.
I am processing some gridded data using contour/countourc commands and I am trying to do 3 things.
find all the closed countours that are centered and suround a given x,y cordinate
find the outermost closed countour from the above list
find the maximum, min and average distance of the above outermost contour from the center x,y cordinate (countours are not always circular and may be of irregular shape in my data).
I started with a sample data (from matlab called peaks) to build my code and impliment on my actual data but I am still stuck on 1 and 2.
(image attaced) I want my code to detect contour levels 18, 16, 14, 12 which are closed and surrounding my center point (blue dot) but instead it is picking 8, 10, 14, 16, 18. How can i modify the code to only detect the prefered contour levels (18,16,14,12) from which i can find the outermost contour and the 3 distances from the center. Note, level 18 is behind the center dot. Also attached countour z data… just incase
%___________________________________________________________________________
% Specify the center point and search radius
centerPoint = [25, 37.5];
searchRadius = 20;
% get and plot contour data
Z = peaks+10; % make colorbar positive. using built in sample data from matlab (peaks)
[M,h] = contour(Z);
clabel(M, h);
colorbar
% plot centerPoint
hold on
scatter(25, 37.5,"filled")
hold off
% crop portion of search area for easy visual
xlim([25 – searchRadius 25 + searchRadius])
ylim([37.5 – searchRadius 37.5 + searchRadius])
%___________________________________________________________________________
% Calculate contours
contourData = contourc(Z);
% Parse contour data
idx = 1;
while idx < size(contourData, 2)
contourLevel = contourData(1, idx); % Contour level
numPoints = contourData(2, idx); % Number of points in the contour
contourPoints = contourData(:, idx+1:idx+numPoints); % Contour points (x, y coordinates)
% Check if contour is closed (first and last points are the same)
isClosed = isequal(contourPoints(:,1), contourPoints(:,end));
% Check if contour surrounds the specified point
if isClosed
% Calculate distance of contour points to center point
distToCenter = sqrt((contourPoints(1, 🙂 – centerPoint(1)).^2 + (contourPoints(2, 🙂 – centerPoint(2)).^2);
% Check if all points are within search radius
if all(distToCenter <= searchRadius)
disp([‘Contour Level: ‘, num2str(contourLevel)]);
disp([‘Contour is closed and surrounds point (‘, num2str(centerPoint(1)), ‘, ‘, num2str(centerPoint(2)), ‘)’]);
disp(‘Contour Points:’);
%disp(contourPoints);
disp(‘———————————————‘);
end
end
% Move to the next contour
idx = idx + numPoints + 1;
end
clear Z M h contourData contourLevel numPoints contourPoints …
centerPoint searchRadius contourLevels isClosed distToCenter idx;Hi and I’d like to say thanks in advance.
I am processing some gridded data using contour/countourc commands and I am trying to do 3 things.
find all the closed countours that are centered and suround a given x,y cordinate
find the outermost closed countour from the above list
find the maximum, min and average distance of the above outermost contour from the center x,y cordinate (countours are not always circular and may be of irregular shape in my data).
I started with a sample data (from matlab called peaks) to build my code and impliment on my actual data but I am still stuck on 1 and 2.
(image attaced) I want my code to detect contour levels 18, 16, 14, 12 which are closed and surrounding my center point (blue dot) but instead it is picking 8, 10, 14, 16, 18. How can i modify the code to only detect the prefered contour levels (18,16,14,12) from which i can find the outermost contour and the 3 distances from the center. Note, level 18 is behind the center dot. Also attached countour z data… just incase
%___________________________________________________________________________
% Specify the center point and search radius
centerPoint = [25, 37.5];
searchRadius = 20;
% get and plot contour data
Z = peaks+10; % make colorbar positive. using built in sample data from matlab (peaks)
[M,h] = contour(Z);
clabel(M, h);
colorbar
% plot centerPoint
hold on
scatter(25, 37.5,"filled")
hold off
% crop portion of search area for easy visual
xlim([25 – searchRadius 25 + searchRadius])
ylim([37.5 – searchRadius 37.5 + searchRadius])
%___________________________________________________________________________
% Calculate contours
contourData = contourc(Z);
% Parse contour data
idx = 1;
while idx < size(contourData, 2)
contourLevel = contourData(1, idx); % Contour level
numPoints = contourData(2, idx); % Number of points in the contour
contourPoints = contourData(:, idx+1:idx+numPoints); % Contour points (x, y coordinates)
% Check if contour is closed (first and last points are the same)
isClosed = isequal(contourPoints(:,1), contourPoints(:,end));
% Check if contour surrounds the specified point
if isClosed
% Calculate distance of contour points to center point
distToCenter = sqrt((contourPoints(1, 🙂 – centerPoint(1)).^2 + (contourPoints(2, 🙂 – centerPoint(2)).^2);
% Check if all points are within search radius
if all(distToCenter <= searchRadius)
disp([‘Contour Level: ‘, num2str(contourLevel)]);
disp([‘Contour is closed and surrounds point (‘, num2str(centerPoint(1)), ‘, ‘, num2str(centerPoint(2)), ‘)’]);
disp(‘Contour Points:’);
%disp(contourPoints);
disp(‘———————————————‘);
end
end
% Move to the next contour
idx = idx + numPoints + 1;
end
clear Z M h contourData contourLevel numPoints contourPoints …
centerPoint searchRadius contourLevels isClosed distToCenter idx; Hi and I’d like to say thanks in advance.
I am processing some gridded data using contour/countourc commands and I am trying to do 3 things.
find all the closed countours that are centered and suround a given x,y cordinate
find the outermost closed countour from the above list
find the maximum, min and average distance of the above outermost contour from the center x,y cordinate (countours are not always circular and may be of irregular shape in my data).
I started with a sample data (from matlab called peaks) to build my code and impliment on my actual data but I am still stuck on 1 and 2.
(image attaced) I want my code to detect contour levels 18, 16, 14, 12 which are closed and surrounding my center point (blue dot) but instead it is picking 8, 10, 14, 16, 18. How can i modify the code to only detect the prefered contour levels (18,16,14,12) from which i can find the outermost contour and the 3 distances from the center. Note, level 18 is behind the center dot. Also attached countour z data… just incase
%___________________________________________________________________________
% Specify the center point and search radius
centerPoint = [25, 37.5];
searchRadius = 20;
% get and plot contour data
Z = peaks+10; % make colorbar positive. using built in sample data from matlab (peaks)
[M,h] = contour(Z);
clabel(M, h);
colorbar
% plot centerPoint
hold on
scatter(25, 37.5,"filled")
hold off
% crop portion of search area for easy visual
xlim([25 – searchRadius 25 + searchRadius])
ylim([37.5 – searchRadius 37.5 + searchRadius])
%___________________________________________________________________________
% Calculate contours
contourData = contourc(Z);
% Parse contour data
idx = 1;
while idx < size(contourData, 2)
contourLevel = contourData(1, idx); % Contour level
numPoints = contourData(2, idx); % Number of points in the contour
contourPoints = contourData(:, idx+1:idx+numPoints); % Contour points (x, y coordinates)
% Check if contour is closed (first and last points are the same)
isClosed = isequal(contourPoints(:,1), contourPoints(:,end));
% Check if contour surrounds the specified point
if isClosed
% Calculate distance of contour points to center point
distToCenter = sqrt((contourPoints(1, 🙂 – centerPoint(1)).^2 + (contourPoints(2, 🙂 – centerPoint(2)).^2);
% Check if all points are within search radius
if all(distToCenter <= searchRadius)
disp([‘Contour Level: ‘, num2str(contourLevel)]);
disp([‘Contour is closed and surrounds point (‘, num2str(centerPoint(1)), ‘, ‘, num2str(centerPoint(2)), ‘)’]);
disp(‘Contour Points:’);
%disp(contourPoints);
disp(‘———————————————‘);
end
end
% Move to the next contour
idx = idx + numPoints + 1;
end
clear Z M h contourData contourLevel numPoints contourPoints …
centerPoint searchRadius contourLevels isClosed distToCenter idx; contour MATLAB Answers — New Questions
How to expand a matrix and interpolate between values?
I have a .mat file that is a 3×2 array. The first column contains hourly data but I would like it to be seconds and interpolate the values in between.
An example would be:
Any help is very much appreciated.I have a .mat file that is a 3×2 array. The first column contains hourly data but I would like it to be seconds and interpolate the values in between.
An example would be:
Any help is very much appreciated. I have a .mat file that is a 3×2 array. The first column contains hourly data but I would like it to be seconds and interpolate the values in between.
An example would be:
Any help is very much appreciated. table, time, interpolation MATLAB Answers — New Questions
ros2bagreader unable to parse “metadata.yaml”
Hello, I am trying to open a mcap ros2 bag and I receive the following error:
Error using ros2bagreader (line 478)
Unable to parse "metadata.yaml" file in the specified folder path. Ensure that the YAML file is correctly formatted.
I am using matlab 2024b version.
Any advice on how to solve this issue?
Thank you,
AnnalisaHello, I am trying to open a mcap ros2 bag and I receive the following error:
Error using ros2bagreader (line 478)
Unable to parse "metadata.yaml" file in the specified folder path. Ensure that the YAML file is correctly formatted.
I am using matlab 2024b version.
Any advice on how to solve this issue?
Thank you,
Annalisa Hello, I am trying to open a mcap ros2 bag and I receive the following error:
Error using ros2bagreader (line 478)
Unable to parse "metadata.yaml" file in the specified folder path. Ensure that the YAML file is correctly formatted.
I am using matlab 2024b version.
Any advice on how to solve this issue?
Thank you,
Annalisa ros2bagreader metadata.yaml MATLAB Answers — New Questions
Help me get this shape on the masks
I have some masks and i want to create a shape like a freeform donut that will enclose the masks,
I have drawn by red and green of what i want.I have some masks and i want to create a shape like a freeform donut that will enclose the masks,
I have drawn by red and green of what i want. I have some masks and i want to create a shape like a freeform donut that will enclose the masks,
I have drawn by red and green of what i want. image processing, image segmentation, digital image processing, computer vision MATLAB Answers — New Questions
How to read the X,Y and Z coordinates from a TIFF image extracted into Matlab?
I have extracted a TIFF image into Matlab using the geotiff function [A, R] = geotiffread(filename). Now the image is stored for example in A. I want to extract the X,Y and Z coordinates from this image and plot it later using surf function. How do I achieve this?
Thanks for any inputs or pointersI have extracted a TIFF image into Matlab using the geotiff function [A, R] = geotiffread(filename). Now the image is stored for example in A. I want to extract the X,Y and Z coordinates from this image and plot it later using surf function. How do I achieve this?
Thanks for any inputs or pointers I have extracted a TIFF image into Matlab using the geotiff function [A, R] = geotiffread(filename). Now the image is stored for example in A. I want to extract the X,Y and Z coordinates from this image and plot it later using surf function. How do I achieve this?
Thanks for any inputs or pointers tiff image, xyz coordinates, surf function MATLAB Answers — New Questions
May 2025 Update for the Office 365 for IT Pros eBook
Monthly Update #119 Now Available for Subscribers to Download

The Office 365 for IT Pros writing team is proud to announce the availability of monthly update #119. Subscribers can download the updated files using the link in the receipt emailed to them when they bought Office 365 for IT Pros (2025 edition). The link always fetches the latest files. For more details about downloading updates, see our FAQ. Details about the changes in update #119 are in our change log.
Automating Microsoft 365 with PowerShell
Updated files are also available for the Automating Microsoft 365 with PowerShell eBook. We posted a note about update #11 a couple of days ago because we try to get this update out before focusing on the big book. Since then, we’ve added some more information, and the current version of the PowerShell book is 11.3.
The earlier post contained some information about bugs in V2.27 of the Microsoft Graph PowerShell SDK. More bugs have been reported since, and a common problem appears to be that the payload used to create or update objects “disappears” when the Graph SDK translates the cmdlet parameters into Graph API requests. There’s a batch of issues listed in the SDK GitHub repository, including a problem assigning licenses to user accounts. Collectively, the bugs make us believe that it’s not a good idea to update to V2.27. Stay with V2.25, which is the last solid release of the Microsoft Graph PowerShell SDK.
Copilot Wave 2 and the M365 Conference
A week ago, Microsoft announced Copilot Wave 2 spring release. The updates include new agents, a new agent store, better personalization, and Copilot notebooks. Having yet another notebook is a depressing thought. Maybe Microsoft could have integrated Copilot better into Loop or OneNote? Just a thought.
Next week, the Microsoft 365 “Community Conference” takes place in Las Vegas, NV. I won’t be there. My experience from last year’s event in Orlando confirmed my feeling that this isn’t a community conference at all. It’s dominated by Microsoft, who spend a lot of money for the privilege of branding, multiple keynotes, and many conference sessions. If it were a community event, there would be a higher percentage of sessions covering the experience of working with today’s products instead of marketing sessions about the future.
The other problem I have with the event is that it doesn’t cover all of Microsoft 365. This is an event deep in SharePoint Online, OneDrive for Business, and Teams, all covered with a rich coating of Copilot for Microsoft 365. There’s room for topics like Microsoft Mesh, Loop, Viva Connections, Power Pages, and Viva Engage, but other parts of Microsoft 365 are excluded because they are not part of the sponsoring business unit. A strong impression is that the conference organizers believe that everyone will write agents and everyone has Copilot for Microsoft 365, and that’s not reality. But organizers will do what sponsors want.
If you attend the conference, don’t expect to hear much about the Microsoft 365 substrate, Exchange Online, Entra ID, Intune, Sentinel, Microsoft Defender, the Microsoft Graph, and PowerShell, all of which play important roles in a Microsoft 365 deployment. Success with SharePoint Online and Teams only happens when tenants are built on a strong and secure foundation, and I think this conference completely misses that point. The organizers will plead that they can only schedule the sessions submitted for consideration. That’s not true. It’s always possible for conferences to find speakers to cover important topics (I’ve done this several times).
I’m sure that the conference attendees will have a fun time in Vegas. It’s always nice to get away from the office to focus on new things. It’s just sad when a major conference purporting to cover Microsoft 365 does such a poor job of covering the essentials.
Back to Writing
Returning to Office 365 for IT Pros, where we do our level best to cover all the important pieces in a Microsoft 365 infrastructure, we’re working on update #120 for the Office 365 for IT Pros eBook, which we plan to make available on June 1, 2025. Have a great May!
Connect Microsoft 365 to Gmail – Microsoft Support
Connect Microsoft 365 to Gmail
Shadow Roles: AWS Defaults Can Open the Door to Service Takeover
What if the biggest risk to your cloud environment wasn’t a misconfiguration you made, but one baked into the defaults?
Our research uncovered security concerns in the deployment of resources within a few AWS services, specifically in the default AWS service roles. These roles, often created automatically or recommended during setup, grant overly broad permissions, such as full S3 access. These default roles silently introduce attack paths that allow privilege escalation, cross-service access, and even potential account compromise.
What if the biggest risk to your cloud environment wasn’t a misconfiguration you made, but one baked into the defaults?
Our research uncovered security concerns in the deployment of resources within a few AWS services, specifically in the default AWS service roles. These roles, often created automatically or recommended during setup, grant overly broad permissions, such as full S3 access. These default roles silently introduce attack paths that allow privilege escalation, cross-service access, and even potential account compromise.Read More
python method from matlab object
Here is the problem I have,
I have a python class, which contain properties that are memebers of specific class, typically to rotate a motor.
The class is defined as below, it uses the pytrinamic for the PD42-1370 motors: https://github.com/analogdevicesinc/PyTrinamic
I have made a wrapper class of the example provided for the Pytrinamic: https://github.com/analogdevicesinc/PyTrinamic/blob/master/examples/modules/TMCM1370/TMCL/rotate_demo.py
"""
pd42_1370.py wrapper to connect to the PD42-X-1370 stepper motor
"""
import pytrinamic
from pytrinamic.connections import ConnectionManager
from pytrinamic.connections import UsbTmclInterface
from pytrinamic.modules import TMCM1370
class PD42_1370():
def __init__(self,com_port,baudrate):
self.com_port = com_port
self.baudrate = baudrate
options = "–interface serial_tmcl –port "+ str(self.com_port)+ " –data_rate "+str(self.baudrate)
self.connection_manager = ConnectionManager(options)
self.interface = self.connection_manager.connect()
print("connected")
self.module = TMCM1370(self.interface)
print("module added")
self.motor = self.module.motors[0]
def disconnect(self):
self.connection_manager.disconnect()
print("disconnected")
def rotateRight(self,speed):
self.motor.rotate(speed)
my MATLAB code is:
py.importlib.import_module(‘pd42_1370’)
ax = py.pd42_1370.PD42_1370(‘COM5’,9600)
ax.rotateRight(int32(10000000))
ax.disconnect()
It is working really fine. But instead of sending the command:
ax.rotateRight(int32(10000000))
I would like to write it:
ax.motor.rotate(int32(100000000))
this later throw back an error:
Unrecognized method, property, or field ‘rotate’ for class ‘py.pytrinamic.modules.TMCM1370._MotorTypeA’.
I cannot figure out what is wrong.
If this could be sorted, then it would help by using direct calls to python, rather than keeping developping the wrapper.Here is the problem I have,
I have a python class, which contain properties that are memebers of specific class, typically to rotate a motor.
The class is defined as below, it uses the pytrinamic for the PD42-1370 motors: https://github.com/analogdevicesinc/PyTrinamic
I have made a wrapper class of the example provided for the Pytrinamic: https://github.com/analogdevicesinc/PyTrinamic/blob/master/examples/modules/TMCM1370/TMCL/rotate_demo.py
"""
pd42_1370.py wrapper to connect to the PD42-X-1370 stepper motor
"""
import pytrinamic
from pytrinamic.connections import ConnectionManager
from pytrinamic.connections import UsbTmclInterface
from pytrinamic.modules import TMCM1370
class PD42_1370():
def __init__(self,com_port,baudrate):
self.com_port = com_port
self.baudrate = baudrate
options = "–interface serial_tmcl –port "+ str(self.com_port)+ " –data_rate "+str(self.baudrate)
self.connection_manager = ConnectionManager(options)
self.interface = self.connection_manager.connect()
print("connected")
self.module = TMCM1370(self.interface)
print("module added")
self.motor = self.module.motors[0]
def disconnect(self):
self.connection_manager.disconnect()
print("disconnected")
def rotateRight(self,speed):
self.motor.rotate(speed)
my MATLAB code is:
py.importlib.import_module(‘pd42_1370’)
ax = py.pd42_1370.PD42_1370(‘COM5’,9600)
ax.rotateRight(int32(10000000))
ax.disconnect()
It is working really fine. But instead of sending the command:
ax.rotateRight(int32(10000000))
I would like to write it:
ax.motor.rotate(int32(100000000))
this later throw back an error:
Unrecognized method, property, or field ‘rotate’ for class ‘py.pytrinamic.modules.TMCM1370._MotorTypeA’.
I cannot figure out what is wrong.
If this could be sorted, then it would help by using direct calls to python, rather than keeping developping the wrapper. Here is the problem I have,
I have a python class, which contain properties that are memebers of specific class, typically to rotate a motor.
The class is defined as below, it uses the pytrinamic for the PD42-1370 motors: https://github.com/analogdevicesinc/PyTrinamic
I have made a wrapper class of the example provided for the Pytrinamic: https://github.com/analogdevicesinc/PyTrinamic/blob/master/examples/modules/TMCM1370/TMCL/rotate_demo.py
"""
pd42_1370.py wrapper to connect to the PD42-X-1370 stepper motor
"""
import pytrinamic
from pytrinamic.connections import ConnectionManager
from pytrinamic.connections import UsbTmclInterface
from pytrinamic.modules import TMCM1370
class PD42_1370():
def __init__(self,com_port,baudrate):
self.com_port = com_port
self.baudrate = baudrate
options = "–interface serial_tmcl –port "+ str(self.com_port)+ " –data_rate "+str(self.baudrate)
self.connection_manager = ConnectionManager(options)
self.interface = self.connection_manager.connect()
print("connected")
self.module = TMCM1370(self.interface)
print("module added")
self.motor = self.module.motors[0]
def disconnect(self):
self.connection_manager.disconnect()
print("disconnected")
def rotateRight(self,speed):
self.motor.rotate(speed)
my MATLAB code is:
py.importlib.import_module(‘pd42_1370’)
ax = py.pd42_1370.PD42_1370(‘COM5’,9600)
ax.rotateRight(int32(10000000))
ax.disconnect()
It is working really fine. But instead of sending the command:
ax.rotateRight(int32(10000000))
I would like to write it:
ax.motor.rotate(int32(100000000))
this later throw back an error:
Unrecognized method, property, or field ‘rotate’ for class ‘py.pytrinamic.modules.TMCM1370._MotorTypeA’.
I cannot figure out what is wrong.
If this could be sorted, then it would help by using direct calls to python, rather than keeping developping the wrapper. python, trinamic, class MATLAB Answers — New Questions
Why am I unable to execute my standalone application with an error referring to “mclmcrrt9_4.dll”
Dear support,
I have an application which shows following message at launch: "Could not find version 9.4 of the MATLAB Runtime. Attempting to load mclmcrrt9_4.dll. Please install the correct version of MATLAB Runtime".
I went on that page MATLAB Runtime – MATLAB Compiler – MATLAB to find the version I need.
When lauching the exe file which I get from download, I see a small window indicating that some file extraction is being processed, then that window closes, and it seems nothing has happened. Nowwhere do I find any "v94" folder which I expect to have after all extraction is done. Could you support with this issue ?
Thanks so much.Dear support,
I have an application which shows following message at launch: "Could not find version 9.4 of the MATLAB Runtime. Attempting to load mclmcrrt9_4.dll. Please install the correct version of MATLAB Runtime".
I went on that page MATLAB Runtime – MATLAB Compiler – MATLAB to find the version I need.
When lauching the exe file which I get from download, I see a small window indicating that some file extraction is being processed, then that window closes, and it seems nothing has happened. Nowwhere do I find any "v94" folder which I expect to have after all extraction is done. Could you support with this issue ?
Thanks so much. Dear support,
I have an application which shows following message at launch: "Could not find version 9.4 of the MATLAB Runtime. Attempting to load mclmcrrt9_4.dll. Please install the correct version of MATLAB Runtime".
I went on that page MATLAB Runtime – MATLAB Compiler – MATLAB to find the version I need.
When lauching the exe file which I get from download, I see a small window indicating that some file extraction is being processed, then that window closes, and it seems nothing has happened. Nowwhere do I find any "v94" folder which I expect to have after all extraction is done. Could you support with this issue ?
Thanks so much. runtime matlab download MATLAB Answers — New Questions
Find the range of duplicates in a sorted element
So let’s say I have a vector
a = [6 2 2 5]
I sort it with the function and now:
a = [2 2 5 6]
How do I find the range of the duplicate number(2)? Like, I want it to tell me the start of the duplicte(element1) and the end of the duplicates(element2)
An if I have [2 2 5 5 6]
It tells me copies are in 1-2 and 3-5So let’s say I have a vector
a = [6 2 2 5]
I sort it with the function and now:
a = [2 2 5 6]
How do I find the range of the duplicate number(2)? Like, I want it to tell me the start of the duplicte(element1) and the end of the duplicates(element2)
An if I have [2 2 5 5 6]
It tells me copies are in 1-2 and 3-5 So let’s say I have a vector
a = [6 2 2 5]
I sort it with the function and now:
a = [2 2 5 6]
How do I find the range of the duplicate number(2)? Like, I want it to tell me the start of the duplicte(element1) and the end of the duplicates(element2)
An if I have [2 2 5 5 6]
It tells me copies are in 1-2 and 3-5 sort, vector MATLAB Answers — New Questions
When I try to open MATLAB, only a file named matlab_crash_dump.11828 is created and MATLAB does not open.
When I try to open MATLAB, only a file named matlab_crash_dump.11828 is created and MATLAB does not open. I have a license. How can I open MATLAB?
The matlab_crash_dump.11828 file is provided in the attached zip file.
Thank you.When I try to open MATLAB, only a file named matlab_crash_dump.11828 is created and MATLAB does not open. I have a license. How can I open MATLAB?
The matlab_crash_dump.11828 file is provided in the attached zip file.
Thank you. When I try to open MATLAB, only a file named matlab_crash_dump.11828 is created and MATLAB does not open. I have a license. How can I open MATLAB?
The matlab_crash_dump.11828 file is provided in the attached zip file.
Thank you. matlab, matlab_crash_dump, 11828 MATLAB Answers — New Questions
Microsoft Introduces Control for Direct Send in Exchange Online
Moving Exchange Online Away from Unauthenticated Connections with Reject Send

If your tenant still has devices that send email to Exchange Online, you should pay attention to the April 28 announcement about more control over the Direct Send feature. This step is part of the overall campaign to improve the security of Exchange Online that’s included initiatives like removing support for Exchange Web Services (EWS) and only accepting inbound mail from supported versions of Exchange Server in hybrid configurations.
Direct Send is a method for devices or applications to unauthenticated send email to Exchange Online recipients using an external mail server using an accepted domain for a Microsoft 365 tenant. No mailbox is required, so Direct Send is a relatively painless way to set up an email connection to internal recipients (Exchange Online rejects messages sent to external recipients).
Authenticated Connections Preferred
Because authenticated connections are used, Microsoft would prefer customers to use client SMTP submission (SMTP AUTH) or SMTP relay instead of Direct Send. The announcement says that Reject Send is a new option to disable Direct Send by default. If they don’t need to use Direct Send, tenants should use Reject Send to block Direct Send because it’s a method that could be exploited by spammers.
SMTP AUTH is next on the list for upgrade as it will lose the ability to connect with Basic authentication in September 2025. Devices and apps that use basic auth today, for instance to send email using the PowerShell Send-MailMessage cmdlet, must be upgraded to use OAuth connections or they will lose the ability to send messages via Exchange Online. Authenticating SMTP connections via OAuth is not a matter of changing out cmdlets, so if a tenant hasn’t started that work to make sure that apps and devices continue working after the September deadline, they’re behind the curve and need to accelerate.
The Reject Send Feature
Direct Send email is anonymous (messages don’t come in via a connector). In the past, this didn’t matter so much because the messages came from devices or apps controlled by you and submitted using a domain owned by the organization. Reject Send works by updating the Exchange organization configuration to instruct the transport service to reject any unauthenticated messages submitted by Direct Send.
Reject Send is currently an opt-in feature, so the RejectDirectSend setting in the organization configuration is set to false. To enable Reject Send, connect to Exchange Online PowerShell as an administrator and run the Set-OrganizationConfig cmdlet:
Set-OrganizationConfig -RejectDirectSend $True
Exchange Online organizational settings need time to percolate to all the mailbox servers used by a tenant, so it could take up to 30 minutes before the update is effective across a tenant. Once the block is effective, messages submitted via Direct Send will then a 550 5.7.68 error. Of course, unless someone is checking devices for errors in mail transmission or notices that expected messages don’t arrive, those errors might remain undetected.
Microsoft says that they plan to enable Reject Send by default for new tenants. The logic here is impeccable. If you’ve never used the feature, don’t get the habit. Reject Send is a preview feature to allow customers to test. An issue with forwarding and Sender Rewriting Scheme (SRS) is documented in the announcement, and Microsoft does not provide a date for general availability.
Before Reject Send can reach general availability, Microsoft must deliver the promised “optics” (a report) to give administrators insight into the level of Direct Send traffic within a tenant. Assuming that the report turns up soon and unless big problems are uncovered during the preview, I’d expect Reject Send to be fully available by the end of 2025.
Connectors Required
It’s possible that some existing mail will be affected by enabling Reject Send. If so, that email must be authenticated by routing across a partner mail flow connector.
SMTP AUTH is the Immediate Priority
There’s not much else to say about Reject Send. If you have a test tenant that mimics the operational environment (complete with apps and devices), you should enable Reject Send and see what happens. You could do the same for the production tenant, but only when prepared to track problems with devices and apps. A better idea might be to wait for the promised report to understand the level of Direct Send traffic within the organization.
Given the looming deadline for SMTP AUTH to lose support for basic authentication, this is likely to remain the immediate priority for upgrade. September isn’t that far away, especially when the prime vacation period is in the middle.
So much change, all the time. It’s a challenge to stay abreast of all the updates Microsoft makes across the Microsoft 365 ecosystem. Subscribe to the Office 365 for IT Pros eBook to receive monthly insights into what happens, why it happens, and what new features and capabilities mean for your tenant.
How agentic AI is driving AI-first business transformation for customers to achieve more
The role of agentic AI has grown rapidly over the past several months as organizational leaders seek ways to accelerate AI Transformation. We firmly believe that Agents + Copilot + Human Ambition can deliver real AI differentiation for our customers. By putting the autonomous capabilities of an agent to work for their businesses, our customers are unlocking AI opportunity to realize greater value. The recent introduction of Microsoft 365 Copilot Chat is delivering on our promise of “Copilot for all” by providing frontline workers with a free, secure and enterprise-ready AI chat interface. Our customers are building their own custom agents with the no-code, low-code features of Microsoft Copilot Studio, allowing citizen and professional developers to extend the capabilities of Copilot and deliver on the unique needs of their industry. We also offer the best prebuilt agent framework right out-of-the-box, such as Sales Agent that works autonomously to help sellers build pipeline and close more deals with greater speed. Similarly, we recently announced general purpose reasoning agents — such as Researcher and Analyst — and invite all of our Microsoft 365 Copilot users to try these in their environments.
It is exciting to see how agents are driving pragmatic AI innovation for our customers by increasing productivity, creating capacity across every role and function and improving business processes. Below are a few highlights from the past quarter that underscore the impact of an agentic AI approach — from improving employee experiences to streamlined workflows and significant cost savings.
Agentic service management software provider Atomicwork leveraged Azure AI Foundry to create Atom — an AI agent that transforms the digital workplace experience for employees and automates service delivery. Adopters of this agentic management platform recognize significant benefits, such as reduced operational costs and increased employee satisfaction, with one customer achieving a 65% deflection rate within six months of implementation and projections of 80% by the end of the year. Integration within Microsoft Teams and other enterprise tools have further streamlined service delivery, allowing employees easier access to information and support. The company’s AI-driven approach has resulted in a 20% increase in accuracy and 75% reduction in response latency when compared to competing solutions.
To support employees as they manage the high demand of internal requests and to create a more satisfying work environment, BDO Colombia used Copilot Studio and Power Platform to develop BeTic 2.0 — an agent that centralizes and automates key payroll and finance processes. The agent reduced operational workload by 50%, optimized 78% of internal processes and showed 99.9% accuracy in managed requests. It also helped reduce duplicative work, optimized workflows, improved the employee-client experience and continues to serve as a competitive differentiator for the company in the market.
Dow is using agents to automate the shipping invoice analysis process and streamline its global supply chain to unlock new efficiencies and value. Receiving more than 100,000 shipping invoices via PDF each year, Dow built an autonomous agent in Copilot Studio to scan for billing inaccuracies and surface them in a dashboard for employee review. Using Freight Agent — a second agent built in Copilot Studio — employees can investigate further by “dialoguing with the data” in natural language. The agents are helping employees solve the challenge of hidden losses autonomously within minutes rather than weeks or months. Dow expects to save millions of dollars on shipping costs through increased accuracy in logistic rates and billing within the first year.
As a leading provider of sustainable energy in Belgium, Eneco serves over 1.5 million customers. Facing performance issues with their existing chatbot, Eneco developed a new AI-driven agent using the no-code, graphical interface in Copilot Studio. This multilingual agent was deployed on the company website in just three months, integrating seamlessly with its live chat platform. The new agent manages 24,000 chats per month — an increase of 140% over the previous solution — and resolves 70% more customer conversations without a handoff to a live representative. For requests that do require escalation, the agent provides an AI-generated summary of the conversation for a more optimized call center experience.
To reimagine trend forecasting and consumer marketing, The Estée Lauder Companies Inc. leveraged Copilot Studio to develop ConsumerIQ — an agent that centralizes and streamlines consumer data to enable instant access to actionable insights. Using natural language prompts, the agent reduced the time required for marketers to gather data from hours to seconds, while accelerating decision-making and helping prevent duplicated research. Together with Azure OpenAI Service and Azure AI Search, teams can gather data, identify trends, build marketing assets, inform research and move products to market faster.
To create proposals and streamline knowledge retrieval and organization, Fujitsu leveraged Azure AI Agent Service within Azure AI Foundry to develop an intelligent, scalable AI agent for sales automation. The agent boosted productivity of sales teams by 67% while addressing knowledge gaps and allowing them to build stronger customer relationships. This transformation allowed teams to shift from time-intensive tasks to strategic planning and customer relationship building, while also supporting new hires with product information and strategic guidance.
To reduce manual tasks and help employees deliver exceptional experiences, global baker Grupo Bimbo established its first ever technology Center of Excellence. Using Power Platform solutions and Copilot Studio, teams created 7,000 power apps, 18,000 processes and 650 agents to reduce busy work and enhance consumer service. By automating low-value tasks, the company saved tens of millions of dollars annually in development efforts and operational efficiencies. Grupo Bimbo also migrated to Azure for its AI capabilities, scalability, security and rapid time to market for apps.
KPMG developed Comply AI — an agent that helps identify environment, social and governance compliance. Using Microsoft AI technologies, the agent helps identify relevant obligations, generate statements in natural language, assess control effectiveness and redraft control descriptions. This has already helped one of its customers achieve 70% improvement in Controls and Risks descriptions, an 18-month reduction in compliance program timelines and a 50% cut in ongoing compliance efforts. KPMG is also using an agent to support new hires by providing templates and historical references to speed up the onboarding process and reduce follow-up calls by 20%.
To significantly enhance its customer service operations, T-Mobile used Power Apps to develop PromoGenius — an app that combines promotional data from multiple systems and documents to keep frontline retail employees equipped with the latest promotional information for customers. Using Copilot Studio, the company embedded an agent in the app so customer service representatives can instantly search for technical details from device manufacturers and create a customer-facing view of product information in a fraction of the time a manual search would require. PromoGenius is the second most-used app in the company, with 83,000 unique users and 500,000 launches a month.
Using Copilot Studio, Virgin Money developed Redi — an agent serving as a digital host within a mobile app for credit card customers. The agent, trained to understand colloquialisms and even known to tell jokes, serves as a secure way for customers to get answers quickly while understanding appropriate context for when a live representative is required. The company views this agent as a tool for its employees to better serve customers, handling over one million interactions, boosting customer satisfaction and becoming one of the bank’s top-rated service channels. Redi now supports customers across Virgin Money’s digital platforms and has been recognized with an industry award for AI in financial services.
To help employees navigate countless procedures, evolving regulations and complex banking systems, Wells Fargo built an agent through Teams to ensure fast and accurate customer support. Using large language models, the agent provides instant access to guidance on 1,700 internal procedures across 4,000 bank branches. Employees can now locate needed information faster without support from a colleague, with 75% of searches happening through the agent and response times reduced from 10 minutes to 30 seconds.
There is immense potential for agents to drive AI-first differentiation for organizations everywhere, especially when combined with Copilot and human ambition. At Microsoft, we believe AI is about empowering human achievement, unlocking potential and democratizing intelligence for as many people as possible with our cloud and AI solutions — as evidenced by these AI Transformation stories of more than 700 customers and partners. I look forward to partnering with you to unlock continued AI opportunity, drive pragmatic innovation and realize meaningful business impact for your organization.
The post How agentic AI is driving AI-first business transformation for customers to achieve more appeared first on The Official Microsoft Blog.
The role of agentic AI has grown rapidly over the past several months as organizational leaders seek ways to accelerate AI Transformation. We firmly believe that Agents + Copilot + Human Ambition can deliver real AI differentiation for our customers. By putting the autonomous capabilities of an agent to work for their businesses, our customers…
The post How agentic AI is driving AI-first business transformation for customers to achieve more appeared first on The Official Microsoft Blog.Read More
Possibility to Restore deleted requirement
Hi.
Using Simulink Requirements from the Requirements Error, I deleted a requirement and I was trying to restore it.
Is there any Undo or Restore command or a workaround to solve the problem?
Thanks.Hi.
Using Simulink Requirements from the Requirements Error, I deleted a requirement and I was trying to restore it.
Is there any Undo or Restore command or a workaround to solve the problem?
Thanks. Hi.
Using Simulink Requirements from the Requirements Error, I deleted a requirement and I was trying to restore it.
Is there any Undo or Restore command or a workaround to solve the problem?
Thanks. restore requirement, simulink MATLAB Answers — New Questions