Month: August 2025
Access to higher resolutions in 48MP USB camera
I am using a 48MP USB camera – this one specifically: https://www.elpcctv.com/elp-48mp-high-resolution-usb-camera-with-varifocal-cs-3610mm-lens-p-443.html
I am using a Macbook Apple M2 (Sequoia 15.6) and thus using the ‘macvideo’ Adaptor … the problem is that although this is a 48MP camera – so a max resolution of 8000×6000 at low FPS, the highest res returned is 3840×2160 (see below). I guess this is because this is a "generic" adaptor?? Is there any way in which I can tap into all of the possible resolutions of this camera using matlab? (I note that the manufacturer says the high res are availabile via a different codec – MJPEG vs YUY2 (8000×6000 @ 5fps MJPEG / 4000×3000 @ 12fps MJPEG
3840×2160 @ 30fps MJPEG) could this be the main issue?
Any pointers greatly appreciated …
Thanks
>> imaqhwinfo(‘macvideo’,1)
ans =
struct with fields:
DefaultFormat: ‘YCbCr422_1920x1080’
DeviceFileSupported: 0
DeviceName: ’48MP USB Camera’
DeviceID: 1
VideoInputConstructor: ‘videoinput(‘macvideo’, 1)’
VideoDeviceConstructor: ‘imaq.VideoDevice(‘macvideo’, 1)’
SupportedFormats: {‘YCbCr422_1280x720’ ‘YCbCr422_1920x1080’ ‘YCbCr422_192x144’ ‘YCbCr422_320x240’ ‘YCbCr422_352x288’ ‘YCbCr422_3840x2160’ ‘YCbCr422_480x360’ ‘YCbCr422_960x540’}
>>I am using a 48MP USB camera – this one specifically: https://www.elpcctv.com/elp-48mp-high-resolution-usb-camera-with-varifocal-cs-3610mm-lens-p-443.html
I am using a Macbook Apple M2 (Sequoia 15.6) and thus using the ‘macvideo’ Adaptor … the problem is that although this is a 48MP camera – so a max resolution of 8000×6000 at low FPS, the highest res returned is 3840×2160 (see below). I guess this is because this is a "generic" adaptor?? Is there any way in which I can tap into all of the possible resolutions of this camera using matlab? (I note that the manufacturer says the high res are availabile via a different codec – MJPEG vs YUY2 (8000×6000 @ 5fps MJPEG / 4000×3000 @ 12fps MJPEG
3840×2160 @ 30fps MJPEG) could this be the main issue?
Any pointers greatly appreciated …
Thanks
>> imaqhwinfo(‘macvideo’,1)
ans =
struct with fields:
DefaultFormat: ‘YCbCr422_1920x1080’
DeviceFileSupported: 0
DeviceName: ’48MP USB Camera’
DeviceID: 1
VideoInputConstructor: ‘videoinput(‘macvideo’, 1)’
VideoDeviceConstructor: ‘imaq.VideoDevice(‘macvideo’, 1)’
SupportedFormats: {‘YCbCr422_1280x720’ ‘YCbCr422_1920x1080’ ‘YCbCr422_192x144’ ‘YCbCr422_320x240’ ‘YCbCr422_352x288’ ‘YCbCr422_3840x2160’ ‘YCbCr422_480x360’ ‘YCbCr422_960x540’}
>> I am using a 48MP USB camera – this one specifically: https://www.elpcctv.com/elp-48mp-high-resolution-usb-camera-with-varifocal-cs-3610mm-lens-p-443.html
I am using a Macbook Apple M2 (Sequoia 15.6) and thus using the ‘macvideo’ Adaptor … the problem is that although this is a 48MP camera – so a max resolution of 8000×6000 at low FPS, the highest res returned is 3840×2160 (see below). I guess this is because this is a "generic" adaptor?? Is there any way in which I can tap into all of the possible resolutions of this camera using matlab? (I note that the manufacturer says the high res are availabile via a different codec – MJPEG vs YUY2 (8000×6000 @ 5fps MJPEG / 4000×3000 @ 12fps MJPEG
3840×2160 @ 30fps MJPEG) could this be the main issue?
Any pointers greatly appreciated …
Thanks
>> imaqhwinfo(‘macvideo’,1)
ans =
struct with fields:
DefaultFormat: ‘YCbCr422_1920x1080’
DeviceFileSupported: 0
DeviceName: ’48MP USB Camera’
DeviceID: 1
VideoInputConstructor: ‘videoinput(‘macvideo’, 1)’
VideoDeviceConstructor: ‘imaq.VideoDevice(‘macvideo’, 1)’
SupportedFormats: {‘YCbCr422_1280x720’ ‘YCbCr422_1920x1080’ ‘YCbCr422_192x144’ ‘YCbCr422_320x240’ ‘YCbCr422_352x288’ ‘YCbCr422_3840x2160’ ‘YCbCr422_480x360’ ‘YCbCr422_960x540’}
>> macvideo, usb camera, mjpeg, resolution MATLAB Answers — New Questions
Microsoft Tells Hybrid Exchange Customers to Get Going with New App
Dedicated Hybrid Connectivity App Fails to Gain Traction

In April 2025, Microsoft announced a dedicated Entra ID app for hybrid connectivity as part of its campaign to dump Exchange Web Services (EWS) from Exchange Online tenants in October 2026. Microsoft has a separate goal to remove EWS from its own apps by October 2025, a move that affects popular apps like Outlook (classic) and Teams.
The dedicated hybrid connectivity app is not an enterprise app created and controlled by Microsoft. Instead, each tenant that runs a hybrid Exchange environment must create a separate tenant-specific version of the app using a Microsoft-provided script.
Once created, the app’s service principal holds the necessary permissions for Exchange Online to use Graph APIs to enable “rich coexistence,” which is code for allowing Exchange Online to act as a broker to fetch data stored in user mailboxes for use by apps, such as the Teams calendar app (in passing, MC1129730 (5 August 2025), says that Microsoft will remove the toggle to allow users to switch between the old and new versions of the Teams calendar app in September 2025).
Power Outages Coming
Unhappily, great plans have a nasty habit of running into problems, which is what has happened here. Tenants are not complying with Microsoft’s wish to create the dedicated hybrid connectivity app, which led to an August 6 EHLO post saying: “the number of customers who have created the dedicated app remains very low.”
To encourage customers to make the switch, Microsoft says that they will “introduce short-term EWS traffic blocks” during the following dates:
| Block starting | Block length | |
| 1st Block | August 19, 2025 | 2 days |
| 2nd Block | September 16, 2025 | 3 days |
| 3rd Block | October 7, 2025 | 3 days |
| Final block | After October 31, 2025 | (block is permanent) |
Crucially, these interruptions in service do not affect tenants that have created the dedicated hybrid connectivity app. Like a flickering alarm light, the time-outs are intended to prompt customers to act. Of course, this depends on tenant administrators or users noticing the effect of an EWS outage and figuring out what happened. You’ve got to assume that even the least attentive administrator will notice a three-day loss of service…
Microsoft says that tenants won’t get exemptions from the time outs and the dedicated hybrid connectivity app needs to be in place before October 31, 2025, before EWS connectivity via the old app is permanently removed.
The New HCW
The good news is that a revamped version of the Hybrid Configuration Wizard (HCW) can configure the dedicated hybrid connectivity app for a tenant. A setting override is still needed to complete the switchover, but all the steps to configure the app with the permissions (EWS for now, Graph API after a future update) and certificates is done.
Security Advisory for EWS Weakness
Microsoft also points out that changing to the new configuration will improve tenant security. EWS is not very secure, and evidence exists that attackers have exploited the protocol in the past in tenant compromises. Indeed, Microsoft cites MSRC advisory CVE-2025-53786 describing an elevation of permission when “an attacker who first gains administrative access to an on-premises Exchange server could potentially escalate privileges within the organization’s connected cloud environment without leaving easily detectable and auditable trace. This risk arises because Exchange Server and Exchange Online share the same service principal in hybrid configurations.”
Moving to the dedicated hybrid connectivity app addresses the weakness reported in CVE-2025-53786.
Path Forward is Clear
The call to action is clear. Any Microsoft 365 tenant with a hybrid Exchange configuration needs to get with the program and create the dedicated hybrid connectivity app. Failure to do so will only lead to disruption and pain. Don’t put this off: make your tenant more secure and take a positive step to jettison EWS. You know it’s the sensible thing to do.
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.
R2025a: Simulink scope does not show full data resolution when zooming in during simulation
Hi all,
I use Simulink to run Simulations over long time-ranges (up to 1 year). Because the simulation run for up to 18 hours I use simulink scopes to monitor signals while the simulation is still running (e.g. to evaluate if newly programmed logics work as expected).
I realised that in R2025a the signals are no longer shown in full data resolution when zooming in during the simulation. Before I used R2023b and there the data was shown in full resolution.
Following example shows the difference between R2023b (expected behaviour) and R2025a:
R2023b:
R2025a:
Both images show the same time-range in the same scope of the same model during simulation.
In the scope settings under logging both "Limit dat points to last" and "Decimation" are disabled.
After the simulation is finished the signals in R2025a are also shown in full data resolution. The difference between the versions only appears during simulation.
Are there any possibilities to get the same behaviour during the simulation as in R2023b? As our simulations run for multiple hours it is important to have the possibility to evaluate the signals even before the simulations are finished.Hi all,
I use Simulink to run Simulations over long time-ranges (up to 1 year). Because the simulation run for up to 18 hours I use simulink scopes to monitor signals while the simulation is still running (e.g. to evaluate if newly programmed logics work as expected).
I realised that in R2025a the signals are no longer shown in full data resolution when zooming in during the simulation. Before I used R2023b and there the data was shown in full resolution.
Following example shows the difference between R2023b (expected behaviour) and R2025a:
R2023b:
R2025a:
Both images show the same time-range in the same scope of the same model during simulation.
In the scope settings under logging both "Limit dat points to last" and "Decimation" are disabled.
After the simulation is finished the signals in R2025a are also shown in full data resolution. The difference between the versions only appears during simulation.
Are there any possibilities to get the same behaviour during the simulation as in R2023b? As our simulations run for multiple hours it is important to have the possibility to evaluate the signals even before the simulations are finished. Hi all,
I use Simulink to run Simulations over long time-ranges (up to 1 year). Because the simulation run for up to 18 hours I use simulink scopes to monitor signals while the simulation is still running (e.g. to evaluate if newly programmed logics work as expected).
I realised that in R2025a the signals are no longer shown in full data resolution when zooming in during the simulation. Before I used R2023b and there the data was shown in full resolution.
Following example shows the difference between R2023b (expected behaviour) and R2025a:
R2023b:
R2025a:
Both images show the same time-range in the same scope of the same model during simulation.
In the scope settings under logging both "Limit dat points to last" and "Decimation" are disabled.
After the simulation is finished the signals in R2025a are also shown in full data resolution. The difference between the versions only appears during simulation.
Are there any possibilities to get the same behaviour during the simulation as in R2023b? As our simulations run for multiple hours it is important to have the possibility to evaluate the signals even before the simulations are finished. scope MATLAB Answers — New Questions
Warning when executing Matlab executable application built with Matlab 2022b
I am building a Matlab executable with Matlab 2022b (including Matlab Compiler). The build is ok and the application works, but when I run it from Windows command prompt or powershell, I get this warning:
Warning: Executing startup failed in matlabrc.
This indicates a potentially serious problem in your MATLAB setup, which should be resolved as soon as possible. Error detected was:
MATLAB:class:InvalidSuperClass
The specified superclass ‘Simulink.IntEnumType’ contains a parse error, cannot be found on MATLAB’s search path, or is shadowed by another file with the same name.
This also happen from another pc with another installation of Matlab, so it does not seem to be a specific problem of my pc. How can I get rid of the warning?I am building a Matlab executable with Matlab 2022b (including Matlab Compiler). The build is ok and the application works, but when I run it from Windows command prompt or powershell, I get this warning:
Warning: Executing startup failed in matlabrc.
This indicates a potentially serious problem in your MATLAB setup, which should be resolved as soon as possible. Error detected was:
MATLAB:class:InvalidSuperClass
The specified superclass ‘Simulink.IntEnumType’ contains a parse error, cannot be found on MATLAB’s search path, or is shadowed by another file with the same name.
This also happen from another pc with another installation of Matlab, so it does not seem to be a specific problem of my pc. How can I get rid of the warning? I am building a Matlab executable with Matlab 2022b (including Matlab Compiler). The build is ok and the application works, but when I run it from Windows command prompt or powershell, I get this warning:
Warning: Executing startup failed in matlabrc.
This indicates a potentially serious problem in your MATLAB setup, which should be resolved as soon as possible. Error detected was:
MATLAB:class:InvalidSuperClass
The specified superclass ‘Simulink.IntEnumType’ contains a parse error, cannot be found on MATLAB’s search path, or is shadowed by another file with the same name.
This also happen from another pc with another installation of Matlab, so it does not seem to be a specific problem of my pc. How can I get rid of the warning? matlab compiler MATLAB Answers — New Questions
Update Inport/outport and signal names faster
I am trying to update a lot of port and signal names. We usually use a prefix like "LvrA_" before all signal names to make code integration easier later. However if we ever need to change it to something like "Lvr1_" the fastest way I’ve found is to click in each box of the Model Data Editor for 100+ ports and signals. Is there a better way to do a find replace, export to a file that allows doing find replace and import or something else similar? Maybe I’ve been using poor keywords but I’ve been searching and can’t seem to find anything.I am trying to update a lot of port and signal names. We usually use a prefix like "LvrA_" before all signal names to make code integration easier later. However if we ever need to change it to something like "Lvr1_" the fastest way I’ve found is to click in each box of the Model Data Editor for 100+ ports and signals. Is there a better way to do a find replace, export to a file that allows doing find replace and import or something else similar? Maybe I’ve been using poor keywords but I’ve been searching and can’t seem to find anything. I am trying to update a lot of port and signal names. We usually use a prefix like "LvrA_" before all signal names to make code integration easier later. However if we ever need to change it to something like "Lvr1_" the fastest way I’ve found is to click in each box of the Model Data Editor for 100+ ports and signals. Is there a better way to do a find replace, export to a file that allows doing find replace and import or something else similar? Maybe I’ve been using poor keywords but I’ve been searching and can’t seem to find anything. inport, naming, signal MATLAB Answers — New Questions
Microsoft Introduces Copilot Memory
Personalize Copilot to Make it Better for You
A July 14 Microsoft Technical Community post introduces “Copilot Memory,” a new feature that Microsoft claims makes Copilot smarter and “more in tune with how you work” by remembering key facts about how a user likes to work. In other words, the feature allows people to personalize Copilot so that they don’t need to repeat instructions about how Copilot should respond to their prompts.
Copilot memory is also covered in message center notification MC1127234 (1 August 2025), which says that general availability should be in September 2025. That conflicts with the original post, which says that “Memory in Copilot will be generally available in July 2025” and notes that the feature is enabled by default.
Adding to Copilot Memory
Fortune favors the brave, so I fired up Copilot Chat (BizChat) and used the suggested method to capture a memory. Copilot responded with “memory updated” (Figure 1).

Selecting the settings option in Copilot’s […] menu duly revealed a personalization section featuring Copilot memory. I added a couple more observations to build out some instructions for Copilot (Figure 2). Interestingly, Copilot combined some of my instructions to make them more concise.

This screen is also where a user can disable Copilot memory or delete individual or all memories.
The work profile tab showed that Copilot had taken note of my job title and location, both sourced from my Entra ID account properties.
Using Copilot Memory
With some memories in place, I created a very simple prompt for Copilot to respond to by asking it to create a list of Entra ID users with PowerShell. In Figure 3, you can see that Copilot included the Microsoft Graph PowerShell SDK in its response because it’s covered by one of the memories that I captured.

Graph Option to Manage Copilot Memory for a Tenant
In their July 14 post, Microsoft promised user and tenant options to manage Copilot memory. Individual user control is mentioned above. Tenant-level control is enabled using the Enhanced Personalization Graph resource type. Interacting with the resource requires the PeopleSettings.ReadWrite.All permission and the signed-in user must hold at least the People administrator role. The default setting is revealed as follows after running the Connect-MgGraph cmdlet to connect to the Graph:
$Uri = "https://graph.microsoft.com/beta/copilot/settings/people/enhancedpersonalization" Invoke-MgGraphRequest -Method Get -Uri $Uri Name Value ---- ----- isEnabledInOrganization True disabledForGroup
These settings tell us that Copilot memory is enabled for the organization, and no restrictions apply. To update the settings to disable Copilot memory for everyone, you patch the resource with a payload containing the new settings:
$Settings = @"
{
"isEnabledInOrganization": false,
}
"@
Invoke-MgGraphRequest -Method Patch -Uri $Uri -Body $Settings
Name Value
---- -----
isEnabledInOrganization False
disabledForGroup
After a short period, Copilot memory is disabled for user accounts (Figure 4).

But let’s assume that you want some people to be able to use Copilot memory and not others. In this case, create an Entra ID (security) group and pass its details in the payload. This example reenables Copilot memory for the tenant and adds a group of restricted users:
$GroupId = (Get-MgGroup -Filter "displayName eq 'Users disabled for Copilot Memory'").Id
$Settings = @"
{
"isEnabledInOrganization": true,
"disabledForGroup": "$GroupId"}
"@
Invoke-MgGraphRequest -Method Patch -Uri $Uri -Body $Settings
More Personalization Makes Copilot Better
Microsoft obviously hopes that personalization will make Copilot more attractive to users. Another example of this strategy in action is the Prioritize My Inbox option to give Copilot instructions about how to filter email. I’m a big fan of removing the need to repeat myself, which is essentially what these options do, so I think they add value. Whether others agree and choose to use Copilot instead of ChatGPT or another competitor remains to be seen.
Support the work of the Office 365 for IT Pros team by subscribing to the Office 365 for IT Pros eBook. Your support pays for the time we need to track, analyze, and document the changing world of Microsoft 365 and Office 365. Only humans contribute to our work! Not even Copilot can help us figure out some of the intricacies of Microsoft 365.
Why is the definition of Weibull PDF not consistent across different MATLAB online documentation web pages?
I see that there is an inconsistency in the expressions of the Weibull distribution functions across two different MATLAB documentation pages.
1) Weibull Distribution (Statistics Toolbox): Here the expression is given as:
y = (b/a) * (x/a)^(b−1) * e^−((x/a)^b)
2) Weibull Distribution (Curve Fitting Toolbox): But here the expression is given as:
y = a * b * x^(b−1) * e^−((ax)^b)I see that there is an inconsistency in the expressions of the Weibull distribution functions across two different MATLAB documentation pages.
1) Weibull Distribution (Statistics Toolbox): Here the expression is given as:
y = (b/a) * (x/a)^(b−1) * e^−((x/a)^b)
2) Weibull Distribution (Curve Fitting Toolbox): But here the expression is given as:
y = a * b * x^(b−1) * e^−((ax)^b) I see that there is an inconsistency in the expressions of the Weibull distribution functions across two different MATLAB documentation pages.
1) Weibull Distribution (Statistics Toolbox): Here the expression is given as:
y = (b/a) * (x/a)^(b−1) * e^−((x/a)^b)
2) Weibull Distribution (Curve Fitting Toolbox): But here the expression is given as:
y = a * b * x^(b−1) * e^−((ax)^b) weibull, distribution MATLAB Answers — New Questions
Why does converting my model into a masked subsystem result in an error indicating a mismatch between the inferred signal size and the size determined by back propagation in MATLAB R2022a?
When I transform my model into a masked subsystem and run the Simulink model, I encounter the following error message:
Error:Inferred size (‘[<signal_size>]’) for data ‘y’ does not match back propagated size (‘scalar’) from Simulink.
Why does converting my model into a masked subsystem result in an error indicating a mismatch between the inferred signal size and the size determined by back propagation in MATLAB R2022a?When I transform my model into a masked subsystem and run the Simulink model, I encounter the following error message:
Error:Inferred size (‘[<signal_size>]’) for data ‘y’ does not match back propagated size (‘scalar’) from Simulink.
Why does converting my model into a masked subsystem result in an error indicating a mismatch between the inferred signal size and the size determined by back propagation in MATLAB R2022a? When I transform my model into a masked subsystem and run the Simulink model, I encounter the following error message:
Error:Inferred size (‘[<signal_size>]’) for data ‘y’ does not match back propagated size (‘scalar’) from Simulink.
Why does converting my model into a masked subsystem result in an error indicating a mismatch between the inferred signal size and the size determined by back propagation in MATLAB R2022a? inferred, signal, size, back, propagation, masked, subsystem MATLAB Answers — New Questions
How can I resolve the “Out of Memory” error without making any changes to the Simulink model?
I’m working with an large Simulink model and encounter an "Out of Memory" error during simulation. I prefer not to alter the model itself. How can I resolve the "Out of Memory" error without making any changes to the Simulink model?I’m working with an large Simulink model and encounter an "Out of Memory" error during simulation. I prefer not to alter the model itself. How can I resolve the "Out of Memory" error without making any changes to the Simulink model? I’m working with an large Simulink model and encounter an "Out of Memory" error during simulation. I prefer not to alter the model itself. How can I resolve the "Out of Memory" error without making any changes to the Simulink model? out, of, memory, operating, point, without, no, change MATLAB Answers — New Questions
Access class methods in one line only when you use brackets after class name.
Hello, I’m hoping someone can explain why you can access a class method in a single statement only when you use brackets after the class name.
For example, I have a class called Data, with method stats. Why does Data.stats raise and error, but Data().stats does not raise an error.
The brackets are not required to instantiate the class, i.e. D = Data is the same as D = Data().
Thanks,
Dale.Hello, I’m hoping someone can explain why you can access a class method in a single statement only when you use brackets after the class name.
For example, I have a class called Data, with method stats. Why does Data.stats raise and error, but Data().stats does not raise an error.
The brackets are not required to instantiate the class, i.e. D = Data is the same as D = Data().
Thanks,
Dale. Hello, I’m hoping someone can explain why you can access a class method in a single statement only when you use brackets after the class name.
For example, I have a class called Data, with method stats. Why does Data.stats raise and error, but Data().stats does not raise an error.
The brackets are not required to instantiate the class, i.e. D = Data is the same as D = Data().
Thanks,
Dale. object oriented, method calls MATLAB Answers — New Questions
How to find the switching losses (reverse recovery losses) of the antiparallel diodes that are in a power converter?
Hello,
My objective is to estimate both conduction and switching losses of semiconductor devices that are used in a DAB converter operation. I have built a simulator using the blocks which can be found in the Simscape library blocks. The semiconductors have been modeled using
1) IGBT (ideal switching) block – IGBT (Ideal, Switching) – Ideal insulated-gate bipolar transistor for switching applications – MATLAB
2) Diode block – Diode – Piecewise linear, exponential, or tabulated diode – MATLAB.
After building the simulator, I ran it for sometime and obtained the simscape results data log for further analysis. And as mentioned in ee_getPowerLossSummary – Calculate dissipated power losses and switching losses – MATLAB, I used that method to estimate both switching and conduction losses using log data. I suppose that the "power" output of the function corresponds to conduction losses. Please advice me otherwise. If the "power" provides the total losses. The provided link of the ee_getPowerLossSummary, it says that the function is capable of estimating both conduction and switching losses for the above devices. Also, highlights that the reverse recovery loss can also be obtained.
However, when I run the simulation and run the function ee_GetPowerLossSummary afterwards, It only provides the conduction losses of the diode. Always, the diode losses are given as zero. It provides the conduction and switching losses for the IGBT. I have modeled the diode for reverse recovery operation by adding values from the datasheet. I was wondering whether there are any additional options to configure to get this to work. Also, I can see that the switching losses of the IGBTs fall drastically when a deadtime is used between High and Low switches in a same leg. When deadtime is not used, a signficant amount of switching losses are present. These observations have been made using the aforementioned ee_getPowerLossSummary function and as well as post processing the instantaneuos power waveforms obtained through power sensors. I don’t understand this since switching losses apply even when the deadtime is used since it only happens due to the IGBT’s own voltage and current. Not by the temporary shootthrough that happens if deadtime is not used.
Any suggestion, comment or advice regarding this process is highly appreciated. Thank you.Hello,
My objective is to estimate both conduction and switching losses of semiconductor devices that are used in a DAB converter operation. I have built a simulator using the blocks which can be found in the Simscape library blocks. The semiconductors have been modeled using
1) IGBT (ideal switching) block – IGBT (Ideal, Switching) – Ideal insulated-gate bipolar transistor for switching applications – MATLAB
2) Diode block – Diode – Piecewise linear, exponential, or tabulated diode – MATLAB.
After building the simulator, I ran it for sometime and obtained the simscape results data log for further analysis. And as mentioned in ee_getPowerLossSummary – Calculate dissipated power losses and switching losses – MATLAB, I used that method to estimate both switching and conduction losses using log data. I suppose that the "power" output of the function corresponds to conduction losses. Please advice me otherwise. If the "power" provides the total losses. The provided link of the ee_getPowerLossSummary, it says that the function is capable of estimating both conduction and switching losses for the above devices. Also, highlights that the reverse recovery loss can also be obtained.
However, when I run the simulation and run the function ee_GetPowerLossSummary afterwards, It only provides the conduction losses of the diode. Always, the diode losses are given as zero. It provides the conduction and switching losses for the IGBT. I have modeled the diode for reverse recovery operation by adding values from the datasheet. I was wondering whether there are any additional options to configure to get this to work. Also, I can see that the switching losses of the IGBTs fall drastically when a deadtime is used between High and Low switches in a same leg. When deadtime is not used, a signficant amount of switching losses are present. These observations have been made using the aforementioned ee_getPowerLossSummary function and as well as post processing the instantaneuos power waveforms obtained through power sensors. I don’t understand this since switching losses apply even when the deadtime is used since it only happens due to the IGBT’s own voltage and current. Not by the temporary shootthrough that happens if deadtime is not used.
Any suggestion, comment or advice regarding this process is highly appreciated. Thank you. Hello,
My objective is to estimate both conduction and switching losses of semiconductor devices that are used in a DAB converter operation. I have built a simulator using the blocks which can be found in the Simscape library blocks. The semiconductors have been modeled using
1) IGBT (ideal switching) block – IGBT (Ideal, Switching) – Ideal insulated-gate bipolar transistor for switching applications – MATLAB
2) Diode block – Diode – Piecewise linear, exponential, or tabulated diode – MATLAB.
After building the simulator, I ran it for sometime and obtained the simscape results data log for further analysis. And as mentioned in ee_getPowerLossSummary – Calculate dissipated power losses and switching losses – MATLAB, I used that method to estimate both switching and conduction losses using log data. I suppose that the "power" output of the function corresponds to conduction losses. Please advice me otherwise. If the "power" provides the total losses. The provided link of the ee_getPowerLossSummary, it says that the function is capable of estimating both conduction and switching losses for the above devices. Also, highlights that the reverse recovery loss can also be obtained.
However, when I run the simulation and run the function ee_GetPowerLossSummary afterwards, It only provides the conduction losses of the diode. Always, the diode losses are given as zero. It provides the conduction and switching losses for the IGBT. I have modeled the diode for reverse recovery operation by adding values from the datasheet. I was wondering whether there are any additional options to configure to get this to work. Also, I can see that the switching losses of the IGBTs fall drastically when a deadtime is used between High and Low switches in a same leg. When deadtime is not used, a signficant amount of switching losses are present. These observations have been made using the aforementioned ee_getPowerLossSummary function and as well as post processing the instantaneuos power waveforms obtained through power sensors. I don’t understand this since switching losses apply even when the deadtime is used since it only happens due to the IGBT’s own voltage and current. Not by the temporary shootthrough that happens if deadtime is not used.
Any suggestion, comment or advice regarding this process is highly appreciated. Thank you. simulink, dab, loss, igbt, diode, switching losses, reverse recovery losses MATLAB Answers — New Questions
Creating a Microsoft 365 Retention Policy for Shared Mailboxes
No Need for Licenses to Include Shared Mailboxes in Retention Policies
After writing about how to replace Exchange litigation holds with Microsoft 365 retention policies, I received a question whether retention policies cover mailboxes that don’t have an Exchange Online Plan 2 service plan, like shared mailboxes. Exchange Online Plan 2 is included in many Office 365 and Microsoft 365 licenses and can be bought and assigned as a separate license. For instance, you can assign an Exchange Online Plan 2 license to a shared mailbox to allow that mailbox to use an archive mailbox, increase its storage quota from 50 GB to 100 GB, or be placed on litigation hold (here’s how to check shared mailboxes against licensing requirements).
The answer is that retention policies with static locations cover shared and other resource mailboxes without requiring a license. The relevant text says: “For many [data lifecycle management] features, a shared or resource mailbox does not need a license assigned.” Shared mailboxes do need licenses when use is made of data lifecycle management features that require user mailboxes to have E5 or Microsoft 365 Compliance or Microsoft 365 Information Protection and Governance licenses. Retention policies based on adaptive scopes are an example.
Adding a Shared Mailbox to a Retention Policy
When a new shared mailbox is created, it receives a default mailbox retention policy. The retention policy is defined in the mailbox plan applied by Exchange Online when it creates the mailbox. In many cases, the Exchange retention policy (called a legacy retention policy by Microsoft) is sufficient to clear out old messages from the mailbox on a regular basis (or move items to an archive mailbox). If a tenant has a Microsoft 365 retention policy covering all Exchange Online mailboxes, shared mailboxes are covered by that policy.
You can also add the shared mailbox to a specific Microsoft 365 retention policy by editing the policy and selecting the shared mailbox, just like any other mailbox (Figure 1).

Mixing the two types of retention policy doesn’t matter because the Exchange managed folder assistant (MFA) combines the settings from all the policies that apply when it processes a mailbox to remove expired items. After the shared mailbox is added to a Microsoft 365 retention policy, you should see the hold applied by the policy in the set of in-place holds noted for the mailbox. For example:
Get-Mailbox Customer.Services@office365itpros.com| Format-List InPlaceholds
InPlaceHolds : {UniHcac6fa1f-ce89-43ef-9e56-839a0e164662}
Creating a Special Microsoft 365 Retention Policy for Shared Mailboxes
Although Exchange retention policies are usually all that’s needed for shared mailboxes, you might feel that it’s best to use Microsoft 365 retention policies for all retention processing and create a Microsoft 365 retention policy for shared mailboxes. The advantage of using a targeted retention policy for shared mailboxes is the ability to apply different retention settings to those used for user mailboxes.
Remember the two downsides of this approach:
- Folder-specific processing isn’t possible with Microsoft 365 retention. All folders have the same retention setting.
- Microsoft 365 retention policies can’t move items to archive mailboxes. This feature requires shared mailboxes to have an Exchange Online Plan 2 license.
To illustrate the point, I wrote a PowerShell script to create a Microsoft 365 retention policy especially for shared mailboxes. The script does the following:
- Connect to Exchange Online and Compliance PowerShell endpoints.
- Find all shared mailboxes.
- Create a new Microsoft 365 retention policy.
- Add the shared mailboxes to the retention policy. Up to 1,000 individual mailboxes can be added to a single retention policy. If a tenant has more than 1,000 shared mailboxes, you’ll need to split the mailboxes across multiple policies. In this scenario, I would write the name of the policy used for a mailbox into one of the 15 custom attributes available for mailboxes.
- Create a retention rule to keep items for two years (730 days). Obviously, you can choose a different retention period.
- Remove the Exchange retention policy from the shared mailboxes.
You can download the script from the Office 365 for IT Pros repository).
Another step to consider is to exclude shared mailboxes from any Microsoft 365 retention policy that processes “All Exchange mailboxes.” This simplifies the retention processing for shared mailboxes to make sure that retention periods and actions from other policies don’t interfere with settings in the retention policy for shared mailboxes.
Some More Work
The retention policy created by the script processes shared mailboxes which exist at that time. More work is needed to maintain the retention policy by adding new shared mailboxes (deleted shared mailboxes are automatically removed from policies). That task is easily done with another script, which I’ll cover in a different post.
Support the work of the Office 365 for IT Pros team by subscribing to the Office 365 for IT Pros eBook. Your support pays for the time we need to track, analyze, and document the changing world of Microsoft 365 and Office 365. Only humans contribute to our work!
NXP S32k1xx Toolbox installation
Hi everyone,
I’m trying to install nxp toolbox but getting given below error kindly help me out.
Dot indexing is not supported for variables of this type.
Error in NXP_Support_Package_S32K1xx>ConvertToolbox_Callback (line 143)
user_selection = get(handles.mbdt_version,’Value’);
^^^^^^^^^^^^^^^^^^^^
Error in gui_mainfcn (line 95)
feval(varargin{:});
^^^^^^^^^^^^^^^^^^
Error in NXP_Support_Package_S32K1xx (line 34)
gui_mainfcn(gui_State, varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)NXP_Support_Package_S32K1xx(‘ConvertToolbox_Callback’,hObject,eventdata,guidata(hObject))
Error using matlab.ui.internal.controller.uicontrol.UIControlController/triggerActionEvent (line 76)
Error while evaluating UIControl Callback.
regards,
Durgaprasad BHi everyone,
I’m trying to install nxp toolbox but getting given below error kindly help me out.
Dot indexing is not supported for variables of this type.
Error in NXP_Support_Package_S32K1xx>ConvertToolbox_Callback (line 143)
user_selection = get(handles.mbdt_version,’Value’);
^^^^^^^^^^^^^^^^^^^^
Error in gui_mainfcn (line 95)
feval(varargin{:});
^^^^^^^^^^^^^^^^^^
Error in NXP_Support_Package_S32K1xx (line 34)
gui_mainfcn(gui_State, varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)NXP_Support_Package_S32K1xx(‘ConvertToolbox_Callback’,hObject,eventdata,guidata(hObject))
Error using matlab.ui.internal.controller.uicontrol.UIControlController/triggerActionEvent (line 76)
Error while evaluating UIControl Callback.
regards,
Durgaprasad B Hi everyone,
I’m trying to install nxp toolbox but getting given below error kindly help me out.
Dot indexing is not supported for variables of this type.
Error in NXP_Support_Package_S32K1xx>ConvertToolbox_Callback (line 143)
user_selection = get(handles.mbdt_version,’Value’);
^^^^^^^^^^^^^^^^^^^^
Error in gui_mainfcn (line 95)
feval(varargin{:});
^^^^^^^^^^^^^^^^^^
Error in NXP_Support_Package_S32K1xx (line 34)
gui_mainfcn(gui_State, varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)NXP_Support_Package_S32K1xx(‘ConvertToolbox_Callback’,hObject,eventdata,guidata(hObject))
Error using matlab.ui.internal.controller.uicontrol.UIControlController/triggerActionEvent (line 76)
Error while evaluating UIControl Callback.
regards,
Durgaprasad B nxp toolbox MATLAB Answers — New Questions
How can I edit the properties for multiple requirements in the Requirements Editor in MATLAB R2024b?
Consider the requirement set file shown in the figure below, which is open in MATLAB R2024b. When I select multiple requirements, the "Properties" pane is greyed out and I cannot edit the properties for multiple requirements. How can I get around this?Consider the requirement set file shown in the figure below, which is open in MATLAB R2024b. When I select multiple requirements, the "Properties" pane is greyed out and I cannot edit the properties for multiple requirements. How can I get around this? Consider the requirement set file shown in the figure below, which is open in MATLAB R2024b. When I select multiple requirements, the "Properties" pane is greyed out and I cannot edit the properties for multiple requirements. How can I get around this? simulink, requirements, requirements-toolbox MATLAB Answers — New Questions
Help with Plotting the Envelope of a Scatter Plot in MATLAB
Hello everyone,
I’m trying to plot the envelope of a scatter plot in MATLAB. However, when I use the envelope function, it returns the same plot without highlighting the upper or lower bounds.
This plot was created using a scatter plot, and when I attempt to filter it to retain only the extremum values, I end up with just a single slice of the data.
Has anyone encountered a similar issue or knows how I could extract and plot the envelope correctly (in red), as shown in the reference image?
Thanks in advance!Hello everyone,
I’m trying to plot the envelope of a scatter plot in MATLAB. However, when I use the envelope function, it returns the same plot without highlighting the upper or lower bounds.
This plot was created using a scatter plot, and when I attempt to filter it to retain only the extremum values, I end up with just a single slice of the data.
Has anyone encountered a similar issue or knows how I could extract and plot the envelope correctly (in red), as shown in the reference image?
Thanks in advance! Hello everyone,
I’m trying to plot the envelope of a scatter plot in MATLAB. However, when I use the envelope function, it returns the same plot without highlighting the upper or lower bounds.
This plot was created using a scatter plot, and when I attempt to filter it to retain only the extremum values, I end up with just a single slice of the data.
Has anyone encountered a similar issue or knows how I could extract and plot the envelope correctly (in red), as shown in the reference image?
Thanks in advance! scatter, enveloppe, filtering MATLAB Answers — New Questions
I AM TRYING TO CONTROL SYNCHRONOUS RELUCTANCE MOTOR USING FOC. (Rs) = 8 Ω, (Ld) = 1.2 H (Lq) = 0.1 H P= 2, (J) = 0.125 kg·m² , (B) = 0.009 IF THE SIMULATION DIAGRAM IS OK
Post Content Post Content synchronous reluctance motor using foc MATLAB Answers — New Questions
How Microsoft Graph PowerShell SDK Access Tokens Work
Automatic Management of Access Tokens
Some years ago, I wrote about the access (bearer) tokens used by Entra ID. At the time, I focused on the access tokens obtained by apps from https://login.microsoftonline.com rather than those used by the Microsoft Graph PowerShell SDK.
One of the big advantages of using the Microsoft Graph PowerShell SDK is that developers don’t need to manage token renewal. When a script or app runs the Connect-MgGraph cmdlet to authenticate, an access token is obtained to allow cmdlets to run. When that access token approaches its expiration time, the Graph SDK requests a new token automatically.
Unless you knew that automatic renewal happens, you probably won’t realize how the Graph PowerShell SDK acquires and manages access tokens because details of the access token aren’t surfaced by a cmdlet like Get-MgContext. Although Get-MgContext reveals details of the current authentication context such as whether delegated or app-only authentication was used and the scopes (permissions) available to the session, there’s no trace of the access token.
Finding the Access Token Used by a Microsoft Graph PowerShell SDK Interactive Session
Some might be surprised that it’s not easier to find what access token is being used during a Graph PowerShell SDK session. However, automatic token management means that knowing what an access token is and when the token will expire is not information that’s necessary for a session to function, so it’s reasonable to keep the data hidden behind the scenes.
To find the access token, it’s necessary to make a special form of request to any Graph API. The request can be made in an interactive session or an app-only session. This example uses a request against the drives endpoint to retrieve retention label information for a file, but any request will work:
$Uri = ("https://graph.microsoft.com/v1.0/drives/{0}/items/{1}/retentionLabel" -f $OneDriveInfo.Id, $File.Id)
$Data = Invoke-MgGraphRequest -Uri $Uri -Method Get -OutputType HttpResponseMessage
The key point here is that the Invoke-MgGraphRequest cmdlet specifies that it should receive a HTTP response rather than data. The request specified in the URI is simply a way to ask the Graph for the HTTP response. The response contains several interesting components:
Version : 2.0
Content : System.Net.Http.DecompressionHandler+GZipDecompressedContent
StatusCode : OK
ReasonPhrase : OK
Headers : {[Cache-Control, System.String[]], [Vary, System.String[]], [Strict-Transport-Security, System.String[]], [request-id, System.String[]]…}
TrailingHeaders : {}
RequestMessage : Method: GET, RequestUri: 'https://graph.microsoft.com/v1.0/drives/b!_xwZzApnQEeEWOYGdTfHR_FlEFWmBHl JixksigwWMZ_hpEW05Pd_R7OzPT4YdqXq/items/01R343MZ43HNLCSCCT3ZBLLUIJGB3GJ5B3/retentionLabel',
Version: 2.0, Content: <null>, Headers:
{
User-Agent: Mozilla/5.0
User-Agent: (Windows NT 10.0; Microsoft Windows 10.0.26100; en-IE)
User-Agent: PowerShell/7.5.2
User-Agent: Invoke-MgGraphRequest
FeatureFlag: 00000003
Cache-Control: no-store, no-cache
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IlZrTmh0QjdFajZpSUhRVkRwdmZYeVVldUEyeFFBbFhyR1M
The access token is at the bottom of the output and can be retrieved with:
$Data.RequestMessage.Headers.Authorization.Parameter
Decrypting an Access Token
Isolating the access token makes it easier to copy and input into the jwt.io token decoder. Figure 1 shows the raw JSON output; selecting the claims table tab presents the information in a more easily understood fashion (this reference page also helps).

The decoded token reveals details like the app in use (Microsoft Graph Command Line Tools), its identifier, the user, and the available permissions
"app_displayname": "Microsoft Graph Command Line Tools", "appid": "14d82eec-204b-4c2f-b7e8-296a70dab67e", "family_name": "Redmond", "given_name": "Tony", "idtyp": "user", "ipaddr": "109.78.233.203", "name": "Tony Redmond", "oid": "eff4cd58-1bb8-4899-94de-795f656b4a18", "scp": "AccessReview.Read.All Agreement.Read.All Analytics.Read APIConnectors.Read.All Application.Read.All Application.ReadWrite.All AppRoleAssignment.ReadWrite.All AuditLog.Read.All AuditLogsQuery.Read.All ...
The token also contain timestamps in UNIX epoch format for when the token was issued and when it will expire. The claims table output shows the date in local time. You can also convert these dates with PowerShell:
$UnixEpochValue = 1752763429 $Date = [DateTimeOffset]::FromUnixTimeSeconds($UnixEpochValue).ToLocalTime().DateTime Write-Host "UNIX epoch $UnixEpochValue is" $(Get-Date $Date -format 'dd-MMM-yyyy HH:mm') UNIX epoch 1752763429 is 17-Jul-2025 15:43
Down further in the token you’ll find the wids array, which holds the identifiers for the Entra ID roles held by the user. Remember, during an interactive Graph SDK session the available permissions are the intersection between delegated permissions and administrative roles. In other words, if access to data isn’t available through a permission, it might be through a role.
Reusing a Graph Access Token
You can take the access token used by the Graph interactive session and use it to retrieve information without using a Graph SDK cmdlet. In this code snippet, we prepare a hash table containing the access token formatted in the way that Graph requests expect the data to be presented and use the token with the Invoke-RestMethod cmdlet to find the details of the signed-in user.
$Headers = @{}
$Headers.Add("Authorization", ("{0} {1}" -f $Data.RequestMessage.Headers.Authorization.Scheme, $Data.RequestMessage.Headers.Authorization.Parameter))
$Me = Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/me" -Headers $Headers
$Me.displayName
Tony Redmond
Interesting But Not Very Useful Information
All of this is firmly in the interesting but not very useful category. If an app wants to make Graph API requests without using the Microsoft Graph PowerShell SDK, it will do the norm and obtain an access token programmatically before running any requests. The permissions available to the app are the set of delegated and application permissions held by the app’s service principal. If the app runs for over an hour, it will need to renew the access token.
Apart from testing code to write this article, I don’t think I have ever looked at the access token in a Microsoft Graph PowerShell SDK session. I might in the future, but right now I can’t think of a good reason why I should.
Need some assistance to write and manage PowerShell scripts for Microsoft 365? Get a copy of the Automating Microsoft 365 with PowerShell eBook, available standalone or as part of the Office 365 for IT Pros eBook bundle.
Error when applying coder to WLAN Toolbox example code
An error occurs when using Matlab coder with hWLANPacketDetector.m used in SDRBeaconReceiverExample.mlx.An error occurs when using Matlab coder with hWLANPacketDetector.m used in SDRBeaconReceiverExample.mlx. An error occurs when using Matlab coder with hWLANPacketDetector.m used in SDRBeaconReceiverExample.mlx. wlan coder MATLAB Answers — New Questions
Please guide me, I can’t find the F280049 Flash file, on TMS320F280049 when using Uniflash it will only work once, after reset it won’t work.
Please guide me, I can’t find the F280049 Flash file, on TMS320F280049 when using Uniflash it will only work once, after reset it won’t work. After reset, it might be from the MCU boosting from RAM?Please guide me, I can’t find the F280049 Flash file, on TMS320F280049 when using Uniflash it will only work once, after reset it won’t work. After reset, it might be from the MCU boosting from RAM? Please guide me, I can’t find the F280049 Flash file, on TMS320F280049 when using Uniflash it will only work once, after reset it won’t work. After reset, it might be from the MCU boosting from RAM? c2000, simulink MATLAB Answers — New Questions
Expansion of expressions involving Einstein summation convention with Levi-Civita tensors
Dear all
I am evaluating expressions of the type
where all the subindices , and the dot on the variable , , symbolizes the time derivative.
I’d be interested in being able to ask MatLab for the fully expanded , , and , so I can then numerically evaluate those terms. Ideally, it would be a plus if it also gave me the monstrous explicit expressions in LaTeX and/or could extrapolate the expanded expression to C++.
Do you have any ideas on how I could do this?Dear all
I am evaluating expressions of the type
where all the subindices , and the dot on the variable , , symbolizes the time derivative.
I’d be interested in being able to ask MatLab for the fully expanded , , and , so I can then numerically evaluate those terms. Ideally, it would be a plus if it also gave me the monstrous explicit expressions in LaTeX and/or could extrapolate the expanded expression to C++.
Do you have any ideas on how I could do this? Dear all
I am evaluating expressions of the type
where all the subindices , and the dot on the variable , , symbolizes the time derivative.
I’d be interested in being able to ask MatLab for the fully expanded , , and , so I can then numerically evaluate those terms. Ideally, it would be a plus if it also gave me the monstrous explicit expressions in LaTeX and/or could extrapolate the expanded expression to C++.
Do you have any ideas on how I could do this? symbolic to numeric expressions, einstein summation convention MATLAB Answers — New Questions










