Category: News
New Outlook for Windows Support for Export to PST
Export to PST with the New Outlook for Windows is Slow and Maybe Shouldn’t be Allowed
Giving the New Outlook for Windows (Monarch) client the ability to deal with PST files has long been one of the biggest demands from people who don’t want to move from Outlook (classic). Microsoft delivered code to support import access for PST files a few months ago. Now code to export mailbox items from the New Outlook to a PST file is available in targeted release tenants (message center notification MC1104309, 26 June 2025, Microsoft 365 roadmap item 485737). General availability is scheduled for mid-July 2025. GCC tenants receive the update about a month later.
The Dire Slowness of Export to PST
Before we all get too excited, let me report that exporting mailbox items from the New Outlook to a PST is a slow operation. It took Outlook 27 minutes to export 4,829 items from my Sent Items folder to a PST. The eventual PST ended up as a 1.01 GB file. Your mileage might vary depending on network speed, current demand on the service, and PC configuration, but I doubt that the overall result will be much different. By comparison, exporting the same folder from Outlook (classic) took less than two minutes.
The reason for the slowness is simple. The New Outlook needs to do a lot of work to extract each item from the source mailbox and convert it to the format used by PSTs. It’s not like Outlook (classic), where PST support has been incorporated into the client since day zero and the client and PST use the same MAPI-based underpinnings.
PST and OST files are very close in structure and format. Outlook (classic) uses OST files for offline synchronized copies of mailbox folders and items. The New Outlook takes a completely different approach to offline access, and the differences in approaches contribute to export slowness.
But don’t worry, Microsoft has an option coming to schedule a mailbox export (Microsoft 365 roadmap item 485743) that should remove the pain of watching the New Outlook slowly export items from mailbox to a target PST (Figure 1). The scheduled export option is due to arrive any day now and should help.

Export to PST Limited to a Mailbox or Single Folder
The new Outlook supports the export of a complete mailbox or a selected folder (Figure 2) for any of the mailboxes configured in the Outlook profile. I’m a tad baffled by the design decision to limit export to these options. Exporting an entire mailbox is fine, but why allow the choice of just one folder?

It would make more sense to allow the selection of multiple folders. In Figure 1, the Inbox folder is selected, but I might want to include the Calendar, Sent Items, and other folders in the target PST. Apart from mimicking the process used by Outlook (classic), there doesn’t seem to be much reason to restrict an export to one selected folder.
Do You Want People to Use Export to PST?
The big question remains do you (or rather, the organization) want to allow Outlook users to be able to export items to a PST. It depends on the compliance and governance strategy for the tenant. If you want everything stored in Microsoft 365 to allow Purview solutions like eDiscovery or AI solutions like Microsoft 365 Copilot to be able to find everything, then it seems like allowing people to export items is a bad idea. All you’re doing is giving people an invitation to move messages out of sight. Users might want to export their mailbox, especially when they’re about to take up a new job in a different company, but that’s no reason to allow mailbox exports to happen.
Even with a strict compliance regime in force, there will be situations when PST exports are justified, such as providing copies of items to external experts for review. However, that’s still not a reason to permit mailbox exports across the board.
Fortunately, blocking access to PSTs is easy and quickly accomplished with an update to OWA mailbox policies. Figure 3 shows the result. New Outlook can’t open a previously-added PST and the Export option has disappeared. I like it this way…

Insight like this doesn’t come easily. You’ve got to know the technology and understand how to look behind the scenes. Benefit from the knowledge and experience of the Office 365 for IT Pros team by subscribing to the best eBook covering Office 365 and the wider Microsoft 365 ecosystem.
vscode terminal jump word shortcuts
I know this is not a 100% matlab specific question, but since it is related to the matlab official extension for vscode, I think it might be ok to ask about it here.
I am currently running matlab without GUI extlusively through vscode, since there is a bug in matlab 2025a on linux which prevents me from using dead keys on neither the workspace nor any of the built in editors.
It has worked great so far for my use case, but on vscode terminal (which is equivalent to matlab’s workspace), I cannot find any way to enable ctrl+arrowleft to jump to the beginning of current word or ctrl+arrowright to jump to the end of current word. Does anyone know how to enable this functionality?
ThanksI know this is not a 100% matlab specific question, but since it is related to the matlab official extension for vscode, I think it might be ok to ask about it here.
I am currently running matlab without GUI extlusively through vscode, since there is a bug in matlab 2025a on linux which prevents me from using dead keys on neither the workspace nor any of the built in editors.
It has worked great so far for my use case, but on vscode terminal (which is equivalent to matlab’s workspace), I cannot find any way to enable ctrl+arrowleft to jump to the beginning of current word or ctrl+arrowright to jump to the end of current word. Does anyone know how to enable this functionality?
Thanks I know this is not a 100% matlab specific question, but since it is related to the matlab official extension for vscode, I think it might be ok to ask about it here.
I am currently running matlab without GUI extlusively through vscode, since there is a bug in matlab 2025a on linux which prevents me from using dead keys on neither the workspace nor any of the built in editors.
It has worked great so far for my use case, but on vscode terminal (which is equivalent to matlab’s workspace), I cannot find any way to enable ctrl+arrowleft to jump to the beginning of current word or ctrl+arrowright to jump to the end of current word. Does anyone know how to enable this functionality?
Thanks vscode, shortcuts MATLAB Answers — New Questions
How are RFDC block and AXI4-Stream to Software block settings applied to the target board by SoC Builder?
Dear all,
I am using SoC Blockset for a simple receiver design for AMD Zynq Ultrascale+ ZCU111 evaluation board.
The Top model consists of the following parts: Signal generation subsystem (part of a testbench) -> RF data converter block -> FPGA referenced model -> AXI4-Stream to Sofrtare block (PS memory is selected) -> Processor subsystem (with Task Manager block and Processor referenced model inside) -> Subsystem with logic to view the output of the design from the Processor side (part of the testbench).
Now I want to deploy the design: using SoC Blockset I generate a bitstream and open an external mode model for the processor.
The question is: At which step of the deployment are the settings of RFDC and AXI4-Stream to Software blocks are applied to HW? First, the bitstream for FPGA model is generated and loaded, FPGA starts running, are the DACs/ADCs and PS memory already configured and working by that point? Or do they start as soon as code for the external mode model is generated and the processes are run on the target Processor?
This is important because if I, for example, I want to deploy the processor application and FPGA degisn separately at different time, bypassing SoC Bulder workflow, I need to know how to configure data converters and memory manually.
Thank you!Dear all,
I am using SoC Blockset for a simple receiver design for AMD Zynq Ultrascale+ ZCU111 evaluation board.
The Top model consists of the following parts: Signal generation subsystem (part of a testbench) -> RF data converter block -> FPGA referenced model -> AXI4-Stream to Sofrtare block (PS memory is selected) -> Processor subsystem (with Task Manager block and Processor referenced model inside) -> Subsystem with logic to view the output of the design from the Processor side (part of the testbench).
Now I want to deploy the design: using SoC Blockset I generate a bitstream and open an external mode model for the processor.
The question is: At which step of the deployment are the settings of RFDC and AXI4-Stream to Software blocks are applied to HW? First, the bitstream for FPGA model is generated and loaded, FPGA starts running, are the DACs/ADCs and PS memory already configured and working by that point? Or do they start as soon as code for the external mode model is generated and the processes are run on the target Processor?
This is important because if I, for example, I want to deploy the processor application and FPGA degisn separately at different time, bypassing SoC Bulder workflow, I need to know how to configure data converters and memory manually.
Thank you! Dear all,
I am using SoC Blockset for a simple receiver design for AMD Zynq Ultrascale+ ZCU111 evaluation board.
The Top model consists of the following parts: Signal generation subsystem (part of a testbench) -> RF data converter block -> FPGA referenced model -> AXI4-Stream to Sofrtare block (PS memory is selected) -> Processor subsystem (with Task Manager block and Processor referenced model inside) -> Subsystem with logic to view the output of the design from the Processor side (part of the testbench).
Now I want to deploy the design: using SoC Blockset I generate a bitstream and open an external mode model for the processor.
The question is: At which step of the deployment are the settings of RFDC and AXI4-Stream to Software blocks are applied to HW? First, the bitstream for FPGA model is generated and loaded, FPGA starts running, are the DACs/ADCs and PS memory already configured and working by that point? Or do they start as soon as code for the external mode model is generated and the processes are run on the target Processor?
This is important because if I, for example, I want to deploy the processor application and FPGA degisn separately at different time, bypassing SoC Bulder workflow, I need to know how to configure data converters and memory manually.
Thank you! rfdc, code generation, embedded coder, soc builder, fpga, target device, soc, zcu111 MATLAB Answers — New Questions
Zero-Padding Position for FFT
Hi,
I have a time-domain signal x with 5000 samples with period T, and it spans from -0.5*T to +0.5*T.
I want to compute an 8000-point FFT and I am confused about where I should add the zero-padding. Which of the following two methods is correct?
First:
x = [x; zeros(1, 3000)];
X = fftshift( fft( fftshift(x), 8000) );
Second:
x = [zeros(1, 1500); x; zeros(1, 1500)];
X = fftshift( fft( fftshift(x), 8000) );
Thanks!Hi,
I have a time-domain signal x with 5000 samples with period T, and it spans from -0.5*T to +0.5*T.
I want to compute an 8000-point FFT and I am confused about where I should add the zero-padding. Which of the following two methods is correct?
First:
x = [x; zeros(1, 3000)];
X = fftshift( fft( fftshift(x), 8000) );
Second:
x = [zeros(1, 1500); x; zeros(1, 1500)];
X = fftshift( fft( fftshift(x), 8000) );
Thanks! Hi,
I have a time-domain signal x with 5000 samples with period T, and it spans from -0.5*T to +0.5*T.
I want to compute an 8000-point FFT and I am confused about where I should add the zero-padding. Which of the following two methods is correct?
First:
x = [x; zeros(1, 3000)];
X = fftshift( fft( fftshift(x), 8000) );
Second:
x = [zeros(1, 1500); x; zeros(1, 1500)];
X = fftshift( fft( fftshift(x), 8000) );
Thanks! fft MATLAB Answers — New Questions
What is the reference data for default values used in FEM Parameter based PMSM block used in “PMSMDetailedTestBench” model (EV Design SimScape) project found in File exchange
I am looking for a open source platform to simulate and obtain datasets like Healthy PMSM temperature and Demagnetised PMSM. I found "EV Design Simscape;" model in FileExchange where i found one model called PMSM Detailed Test Bench for which parameters like flux linkage is defined via a 3D map of Flux linkage and current. I would like like to vary the flux linkage to simulate demagnetised motor. Here we want to check the reference about default values used in those parameters and how are they opted or selected. Kindly support the sameI am looking for a open source platform to simulate and obtain datasets like Healthy PMSM temperature and Demagnetised PMSM. I found "EV Design Simscape;" model in FileExchange where i found one model called PMSM Detailed Test Bench for which parameters like flux linkage is defined via a 3D map of Flux linkage and current. I would like like to vary the flux linkage to simulate demagnetised motor. Here we want to check the reference about default values used in those parameters and how are they opted or selected. Kindly support the same I am looking for a open source platform to simulate and obtain datasets like Healthy PMSM temperature and Demagnetised PMSM. I found "EV Design Simscape;" model in FileExchange where i found one model called PMSM Detailed Test Bench for which parameters like flux linkage is defined via a 3D map of Flux linkage and current. I would like like to vary the flux linkage to simulate demagnetised motor. Here we want to check the reference about default values used in those parameters and how are they opted or selected. Kindly support the same pmsm detailed test bench MATLAB Answers — New Questions
Microsoft Launches New Way to Consume Documentation
MCP Server for Microsoft Learn Delivers Real-Time Access to Microsoft Documentation
Technologists love new technology, even if new technology often disappoints or doesn’t live up to over-hyped expectations. This fact of IT life has been true for as long as I can remember and has applied to mainframes, minicomputers, PCs, and the cloud.
I was reminded about the truth that technology can disappoint when I saw the reactions of many to the news that Microsoft has a Model Context Protocol (MCP) server to allow real-time access by agents to Microsoft documentation (essentially, the contents of the learn.microsoft.com website). The server is currently in public preview.
Most of the reactions I saw were of the “gee-whiz, what a great thing” variety, probably based on the expectation of what an agent might do with Microsoft documentation rather than any experience of the MCP server in action. It will take time before people figure out how to take advantage of Microsoft documentation (question to self, what is the meaning of “official” documentation?).
Using the MCP Server with GitHub Copilot
In any case, it’s easy to add the MCP server to Visual Studio Code, which is what I use to write PowerShell code. The documentation includes a one-click installation which wasn’t quite a one-click activity but worked in the end. When the MCP server for Microsoft Learn is installed, GitHub Copilot can use it as a tool to help answer user prompts. As it happens, I’ve been reviewing some text for the Automating Microsoft 365 with PowerShell eBook and asked GitHub Copilot for some help. Figure 1 shows the response.

At first glance, the response looks perfectly reasonable. The only trouble is that it’s wrong. The cmdlets cited in the answer don’t exist and haven’t existed since the Microsoft Graph PowerShell SDK divided its single module into production and beta modules in V2.0 of the SDK (released in July 2023).
Issues Linger in Documentation
The effectiveness of AI-based tools depend on the accuracy of their input sources. Generative AI can’t create new knowledge. It can only generate responses based on source content, and those responses will be flawed when imperfections exist in the source. The problem here is that the “official documentation” for how to customize item insights privacy was written sometime in 2021 and hasn’t changed much since. According to the page header, Microsoft last updated it on 31 January 2025. However, the content still details the use of incorrect cmdlets.
I know that the information was valid in 2021 because I covered the topic for Practical365.com in April 2021. The problem is that the cmdlets still use a beta endpoint, so the correct cmdlets are Update-MgBetaOrganizationSettingItemInsight and Get-MgBetaOrganizationSettingItemInsight. I don’t blame the writer responsible for the page for missing the esoteric change made to split the Microsoft Graph PowerShell SDK into two modules. The example code is simple. What could go wrong with it?
Official Microsoft Documentation isn’t Perfect
All of this illustrates the fallacy of treating “official” documentation as an infallible source of truth. The Microsoft Learn documentation is a source of valuable information that often delivers great answers. But its content suffers from the same problem as blogs and other online sources of information in that technology moves so fast these days that documentation is in a state of constant flux. Keeping hundreds of thousands of pages current is a never-ending task, even if the technology was relatively stable.
Microsoft 365 is a very dynamic and complex technical environment where features can be affected by licensing, configuration, user settings, and add-ins. Include some recent layoffs of Microsoft writers and a bunch of automatically generated documentation and suddenly, the foundation for the “official” documentation doesn’t look quite as solid. There’s still lots of very useful information in Microsoft Learn even if it’s not quite as perfect as some might think.
Seeking Help for Better Code
It makes perfect sense to use new tools to extract more advantage from existing resources. Perhaps the MCP Server for Microsoft Learn will help to address the knowledge deficit of people struggling to understand how to write better code using Microsoft technologies like the Graph APIs through its integration with GitHub Copilot. We’ll only know if this is the case over time when developers have a chance to understand if the presence of the server improves their code.
I won’t complain if the MCP Server reduces or eliminates the tendency for GitHub Copilot to hallucinate by proposing cmdlets or parameters that don’t exist. Much as I admire GitHub Copilot exhibiting its artistic side when creating previously unknown cmdlets, it’s something that wears over time.
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!
Two-Level AFE Control Not Working with Resistive Load and Non-Zero Negative Vd Using SOGI Filter
Hello everyone,
I’m working on a Two-Level Active Front-End (AFE) converter model in Simulink. The simulation runs successfully when the load is a battery, but I’m facing issues when I replace the battery with a resistive load.
❗ Issues Encountered:
The control becomes unstable or fails when switching to a resistive load.
I’m using a SOGI-based PLL for synchronization and sequence extraction.
Under balanced input voltage conditions, I’m observing a non-zero negative-sequence Vd (~1.5 V), which ideally should be near zero.
📌 System Configuration:
Two-Level Voltage Source Converter (VSC)
RC-damped LCL Filter
SOGI-based sequence extraction and PLL
dq frame current control
Battery load: DC voltage source
Resistive load: Fixed resistor connected across DC bus
✅ My Questions:
Why does the system behave well with a battery load, but not with a resistive load?
What could cause a non-zero negative-sequence Vd (~1.5 V) under balanced conditions?
How should I tune the SOGI filter or control loops to improve stability and accuracy during resistive loading?
If needed, I can provide block diagrams or simulation waveforms. Any insights or similar experiences would be very helpful.
Thanks in advance,
Thangamuthu NHello everyone,
I’m working on a Two-Level Active Front-End (AFE) converter model in Simulink. The simulation runs successfully when the load is a battery, but I’m facing issues when I replace the battery with a resistive load.
❗ Issues Encountered:
The control becomes unstable or fails when switching to a resistive load.
I’m using a SOGI-based PLL for synchronization and sequence extraction.
Under balanced input voltage conditions, I’m observing a non-zero negative-sequence Vd (~1.5 V), which ideally should be near zero.
📌 System Configuration:
Two-Level Voltage Source Converter (VSC)
RC-damped LCL Filter
SOGI-based sequence extraction and PLL
dq frame current control
Battery load: DC voltage source
Resistive load: Fixed resistor connected across DC bus
✅ My Questions:
Why does the system behave well with a battery load, but not with a resistive load?
What could cause a non-zero negative-sequence Vd (~1.5 V) under balanced conditions?
How should I tune the SOGI filter or control loops to improve stability and accuracy during resistive loading?
If needed, I can provide block diagrams or simulation waveforms. Any insights or similar experiences would be very helpful.
Thanks in advance,
Thangamuthu N Hello everyone,
I’m working on a Two-Level Active Front-End (AFE) converter model in Simulink. The simulation runs successfully when the load is a battery, but I’m facing issues when I replace the battery with a resistive load.
❗ Issues Encountered:
The control becomes unstable or fails when switching to a resistive load.
I’m using a SOGI-based PLL for synchronization and sequence extraction.
Under balanced input voltage conditions, I’m observing a non-zero negative-sequence Vd (~1.5 V), which ideally should be near zero.
📌 System Configuration:
Two-Level Voltage Source Converter (VSC)
RC-damped LCL Filter
SOGI-based sequence extraction and PLL
dq frame current control
Battery load: DC voltage source
Resistive load: Fixed resistor connected across DC bus
✅ My Questions:
Why does the system behave well with a battery load, but not with a resistive load?
What could cause a non-zero negative-sequence Vd (~1.5 V) under balanced conditions?
How should I tune the SOGI filter or control loops to improve stability and accuracy during resistive loading?
If needed, I can provide block diagrams or simulation waveforms. Any insights or similar experiences would be very helpful.
Thanks in advance,
Thangamuthu N simulink, model, converter, battery, resistive load MATLAB Answers — New Questions
MNPBEM Error – Issue with dot product in tripolygon file
Hi,
I’m new to MATLAB and the MNPBEM toolbox – I’m trying to write a code to simulate a gold nanoparticle on a diamond substrate to demonstrate the SERS effect. I keep getting this error:
"Dot indexing is not supported for variables of this type.
Error in tripolygon (line 18)
if all( ~isnan( edge.pos( :, 1 ) ) ) || …"
^^^^^^^^^^^^^^^^
followed by:
Error in aunp_SERS_1 (line 37)
slab = tripolygon(faces, vertices);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
(where aunp_SERS_1 is the name of my project). Not sure how to fix this as I cannot edit the tripolygon file as it is part of the toolbox! Please let me know what to do :)Hi,
I’m new to MATLAB and the MNPBEM toolbox – I’m trying to write a code to simulate a gold nanoparticle on a diamond substrate to demonstrate the SERS effect. I keep getting this error:
"Dot indexing is not supported for variables of this type.
Error in tripolygon (line 18)
if all( ~isnan( edge.pos( :, 1 ) ) ) || …"
^^^^^^^^^^^^^^^^
followed by:
Error in aunp_SERS_1 (line 37)
slab = tripolygon(faces, vertices);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
(where aunp_SERS_1 is the name of my project). Not sure how to fix this as I cannot edit the tripolygon file as it is part of the toolbox! Please let me know what to do 🙂 Hi,
I’m new to MATLAB and the MNPBEM toolbox – I’m trying to write a code to simulate a gold nanoparticle on a diamond substrate to demonstrate the SERS effect. I keep getting this error:
"Dot indexing is not supported for variables of this type.
Error in tripolygon (line 18)
if all( ~isnan( edge.pos( :, 1 ) ) ) || …"
^^^^^^^^^^^^^^^^
followed by:
Error in aunp_SERS_1 (line 37)
slab = tripolygon(faces, vertices);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
(where aunp_SERS_1 is the name of my project). Not sure how to fix this as I cannot edit the tripolygon file as it is part of the toolbox! Please let me know what to do 🙂 mnpbem, tripolygon, error, help, matlab code, matlab MATLAB Answers — New Questions
Figure window not opening with just using plot() in 2025a
Hello everyone, I have a simple yet annoying problem. In previous versions of Matlab, if I wanted to see a plot, I could write plot(a,b) and it would automatically open a figure window and draw the plot. Now, in 2025a, I need to write figure() first and then write plot(a,b) to see the plot. Otherwise the figure is acting like its Visible property is set to ‘off’, yet the property seems to be ‘on’. Any ideas why this might be happening? Is it like this "by design" now?Hello everyone, I have a simple yet annoying problem. In previous versions of Matlab, if I wanted to see a plot, I could write plot(a,b) and it would automatically open a figure window and draw the plot. Now, in 2025a, I need to write figure() first and then write plot(a,b) to see the plot. Otherwise the figure is acting like its Visible property is set to ‘off’, yet the property seems to be ‘on’. Any ideas why this might be happening? Is it like this "by design" now? Hello everyone, I have a simple yet annoying problem. In previous versions of Matlab, if I wanted to see a plot, I could write plot(a,b) and it would automatically open a figure window and draw the plot. Now, in 2025a, I need to write figure() first and then write plot(a,b) to see the plot. Otherwise the figure is acting like its Visible property is set to ‘off’, yet the property seems to be ‘on’. Any ideas why this might be happening? Is it like this "by design" now? plot, figure MATLAB Answers — New Questions
Changing position and resizing image within Image Viewer (imtool)
I am working on an app that will open the Image Viewer app using imtool. I want the Image Viewer window to be in the top right of the screen, and larger than the default opening size, as well as have the image within the app displayed at the largerst possible magnification that shows the entire image.
I have figured out that I can do each of these steps individually, however, when I try to combine them it seem to be that I can only set the position and size of the Image Viewer after I have set the magnification – and the magnification does not seem to adapt to the new size of the window (and I cannot figure out how to code the magnification after the Image Viewer has been launched).
The code I am using is:
screensize = get(0, ‘ScreenSize’) ;
app.ImageAppOn = imtool(app.ImageCell{1}, ‘InitialMagnification’, ‘adaptive’) ;
%display the first image in the set ImageCell
set(app.ImageAppOn, ‘Position’, [650, 20, screensize(3)-650, screensize(4)-100])
%send the Image Viewer to the top right corner and resize to take up more screen
How can I accomplish both the larger window size and the larger magnification?
(I am using Matlab 2018b)
Thanks.I am working on an app that will open the Image Viewer app using imtool. I want the Image Viewer window to be in the top right of the screen, and larger than the default opening size, as well as have the image within the app displayed at the largerst possible magnification that shows the entire image.
I have figured out that I can do each of these steps individually, however, when I try to combine them it seem to be that I can only set the position and size of the Image Viewer after I have set the magnification – and the magnification does not seem to adapt to the new size of the window (and I cannot figure out how to code the magnification after the Image Viewer has been launched).
The code I am using is:
screensize = get(0, ‘ScreenSize’) ;
app.ImageAppOn = imtool(app.ImageCell{1}, ‘InitialMagnification’, ‘adaptive’) ;
%display the first image in the set ImageCell
set(app.ImageAppOn, ‘Position’, [650, 20, screensize(3)-650, screensize(4)-100])
%send the Image Viewer to the top right corner and resize to take up more screen
How can I accomplish both the larger window size and the larger magnification?
(I am using Matlab 2018b)
Thanks. I am working on an app that will open the Image Viewer app using imtool. I want the Image Viewer window to be in the top right of the screen, and larger than the default opening size, as well as have the image within the app displayed at the largerst possible magnification that shows the entire image.
I have figured out that I can do each of these steps individually, however, when I try to combine them it seem to be that I can only set the position and size of the Image Viewer after I have set the magnification – and the magnification does not seem to adapt to the new size of the window (and I cannot figure out how to code the magnification after the Image Viewer has been launched).
The code I am using is:
screensize = get(0, ‘ScreenSize’) ;
app.ImageAppOn = imtool(app.ImageCell{1}, ‘InitialMagnification’, ‘adaptive’) ;
%display the first image in the set ImageCell
set(app.ImageAppOn, ‘Position’, [650, 20, screensize(3)-650, screensize(4)-100])
%send the Image Viewer to the top right corner and resize to take up more screen
How can I accomplish both the larger window size and the larger magnification?
(I am using Matlab 2018b)
Thanks. app designer, image analysis MATLAB Answers — New Questions
how can we debug parfor loop
when i am working using "parfor" condition, i am not able to put a breakpoints for debugging.when i am working using "parfor" condition, i am not able to put a breakpoints for debugging. when i am working using "parfor" condition, i am not able to put a breakpoints for debugging. debug, parfor MATLAB Answers — New Questions
Announcing Office 365 for IT Pros (2026 Edition)
New Office 365 for IT Pros Edition Now Available

The Office 365 for IT Pros team is delighted to announce the publication of the twelfth edition of the Office 365 for IT Pros eBook, including the second edition of the Automating Microsoft 365 with PowerShell eBook (released yesterday). This edition represents the outcome of an end-to-end review of the 2025 edition, including a completely new eDiscovery chapter (due to the big changes Microsoft is rolling out in this area). The new book is available in PDF and EPUB versions from Gumroad.com. If you subscribe to Office 365 for IT Pros, you do not need to buy the PowerShell book separately because it’s included in the Office 365 for IT Pros bundle.
As always, we are making a discounted subscription available to previous subscribers. An email with a code to secure the discount has been sent to subscribers of the 2025 edition from o365itpros@creators.gumroad.com. If you had a subscription for the 2025 edition and did not receive the code, please contact o365itprosrenewals@office365itpros.com and we will fix the problem.
Unfortunately, we have had to increase the price of the book from $49.95 to $59.95. We maintained the original price since 2015 for as long as we could, but inflation, increased processing costs (credit cards, PayPal, etc.), and other costs meant that we couldn’t hold the line any longer. We asked Microsoft Copilot what the value of $49.95 in 2015 dollars is today. Today’s answer is $64.30 (Figure 1).

A week ago when I published our release plan, the suggested price was $67.73. I guess it’s the way you ask a question of AI. In either case, I’m happy that we continue to deliver good value at approximately the equivalent of 12 cups of coffee (the value of the book lasts longer than the value of the caffeine).
Remaining Focused on Practicalities
We remain utterly focused on explaining how Microsoft 365 really works in a very practical sense. Some question the value of books in a world where an AI chatbot spits out an answer to any question in less than a minute. My answer is context and experience. AI chatbots don’t necessarily (or at all) appreciate the context of how something works inside Microsoft 365. Generative AI depends on what’s been published in the past and included in its LLMs. But if that information is outdated, inaccurate, or doesn’t apply to your situation, the response will be wrong. Experience helps understand context. Based on technical skills acquired over years, experience cuts through fluff in a way that AI cannot. AI doesn’t have Microsoft 365 skills, nor does it have experience. All it can do is regurgitate, albeit in a highly proficient and (at times) useful manner.
This doesn’t deny the value of AI in many situations or the important of adapting new technologies like AI where appropriate and cost-effective. Given Microsoft’s massive investment to build out hardware and software capabilities for AI, there is no doubt that AI is a big part of our future. We’ve just got to use the tool in the best way, just like any other tool. For instance, using a Copilot agent to interrogate the contents of Office 365 for IT Pros and Automating Microsoft 365 with PowerShell.
Remember, AI cannot clean up a mess. To be successful with Microsoft 365 Copilot, you need a Microsoft 365 tenant that’s well managed and without a legacy of failed collaboration projects. The knowledge contained in Office 365 for IT Pros helps administrators manage tenants better, even if we can’t do much about the legacy of failed projects.
Additions to the Office 365 for IT Pros Author Team
We welcome two new authors for the 2026 edition. Leah Theil now looks after the Teams Basics chapter (11) while Tony Sterling oversees the Teams management chapter (12). Given the success of Teams within the Microsoft 365 ecosystem, these are important chapters, and I am delighted to have two such experienced professionals take on their care.
Keepit: Our New Sponsor
Keepit A/S, a company specializing in delivering resilience against data loss, is our new sponsor. I’m sure many of you know Keepit from technology conferences where they always serve high-grade coffee on their stand. Making sure that production data is protected is a critical success factor for Microsoft 365 deployments, and Keepit has solid products to protect Entra ID, Microsoft 365 (Exchange Online, SharePoint Online/OneDrive for Business, and Teams), and the Power Platform. We thank Keepit for their support and look forward to working with them over the coming year.
Thanks to Our Subscribers
We couldn’t do any of our work without the support of the people who subscribe to Office 365 for IT Pros, read our articles, and provide feedback. Despite what it might seem like at times, we like to receive notes telling us where we can do better, so thanks a lot to all of you who have helped us improve the books over the years. It’s been an incredibly fulfilling journey since the release of the first edition in 2015. Onward to the next edition!
Serial Receive Block Variable Data Size
Hi,
I’m working with a data logger that sends measurements over a USB serial interface. I’d like to read the data using Simulink’s Serial Receive block, but I’m running into a problem: the block requires a fixed message length, while my measurements vary in digit count, so each message can be longer or shorter.
I’ve tried setting a maximum data size, but then the block misses the terminator since it relies solely on the fixed length. I’ve also experimented with a smaller fixed size in non-blocking mode, buffering incoming bytes and then parsing complete messages—but approaches that i tried introduce delays that are unacceptable for my application.
I’d appreciate any suggestions or solutions to handle variable-length serial messages in Simulink without significant latency.Hi,
I’m working with a data logger that sends measurements over a USB serial interface. I’d like to read the data using Simulink’s Serial Receive block, but I’m running into a problem: the block requires a fixed message length, while my measurements vary in digit count, so each message can be longer or shorter.
I’ve tried setting a maximum data size, but then the block misses the terminator since it relies solely on the fixed length. I’ve also experimented with a smaller fixed size in non-blocking mode, buffering incoming bytes and then parsing complete messages—but approaches that i tried introduce delays that are unacceptable for my application.
I’d appreciate any suggestions or solutions to handle variable-length serial messages in Simulink without significant latency. Hi,
I’m working with a data logger that sends measurements over a USB serial interface. I’d like to read the data using Simulink’s Serial Receive block, but I’m running into a problem: the block requires a fixed message length, while my measurements vary in digit count, so each message can be longer or shorter.
I’ve tried setting a maximum data size, but then the block misses the terminator since it relies solely on the fixed length. I’ve also experimented with a smaller fixed size in non-blocking mode, buffering incoming bytes and then parsing complete messages—but approaches that i tried introduce delays that are unacceptable for my application.
I’d appreciate any suggestions or solutions to handle variable-length serial messages in Simulink without significant latency. serial receive, serielle schnitstelle, variable data size MATLAB Answers — New Questions
Please Help! : Unrecognized function or variable ‘crandn’.
% simple SIMO system
m = 2;
l = 20;
alphabet = [ exp(j*pi/4); exp(j*3/4*pi); exp(j*5/4*pi); exp(j*7/4*pi) ];
h0 = crandn(m, 1);
h1 = crandn(l, 1);
h2 = crandn(m, l);
hmatrix1 = diag(h1);
ptx = 1;
vinit = alphabet(round(4*rand(l, 1)+0.5));
htotinit = (h0+h2*diag(vinit)*h1)*sqrt(ptx);
ginit = htotinit/(1+htotinit’*htotinit);
mseinit = 1/(1+htotinit’*htotinit);
gold = ginit;
vold = vinit;
mseold = mseinit;
iter = 1;
while 1 == 1,
a = hmatrix1’*h2’*gold;
b = gold’*h0-1;
vcand = b/abs(b)*a./abs(a);
vnew = zeros(l, 1);
vnew = sqrt(2)*((real(vnew) > 0)-0.5+j*(imag(vnew) > 0)-0.5);
if round(norm(vnew-vold)) == 0,
break;
end
htotnew = (h0+h2*diag(vnew)*h1)*sqrt(ptx);
gold = 1/(1+htotnew’*htotnew)*htotnew;
mseold = 1/(1+htotnew’*htotnew);
msenew = mseold
vold = vnew;
iter = iter+1;
end
disp(sprintf("MSEinit=%f", mseinit))
disp(sprintf("MSEupdated=%f", msenew))
disp(sprintf("number of iterations=%i", iter))
Why is my matlab showing this error?
I am able to run my code here but not in my matlab program.
Can anyone help?% simple SIMO system
m = 2;
l = 20;
alphabet = [ exp(j*pi/4); exp(j*3/4*pi); exp(j*5/4*pi); exp(j*7/4*pi) ];
h0 = crandn(m, 1);
h1 = crandn(l, 1);
h2 = crandn(m, l);
hmatrix1 = diag(h1);
ptx = 1;
vinit = alphabet(round(4*rand(l, 1)+0.5));
htotinit = (h0+h2*diag(vinit)*h1)*sqrt(ptx);
ginit = htotinit/(1+htotinit’*htotinit);
mseinit = 1/(1+htotinit’*htotinit);
gold = ginit;
vold = vinit;
mseold = mseinit;
iter = 1;
while 1 == 1,
a = hmatrix1’*h2’*gold;
b = gold’*h0-1;
vcand = b/abs(b)*a./abs(a);
vnew = zeros(l, 1);
vnew = sqrt(2)*((real(vnew) > 0)-0.5+j*(imag(vnew) > 0)-0.5);
if round(norm(vnew-vold)) == 0,
break;
end
htotnew = (h0+h2*diag(vnew)*h1)*sqrt(ptx);
gold = 1/(1+htotnew’*htotnew)*htotnew;
mseold = 1/(1+htotnew’*htotnew);
msenew = mseold
vold = vnew;
iter = iter+1;
end
disp(sprintf("MSEinit=%f", mseinit))
disp(sprintf("MSEupdated=%f", msenew))
disp(sprintf("number of iterations=%i", iter))
Why is my matlab showing this error?
I am able to run my code here but not in my matlab program.
Can anyone help? % simple SIMO system
m = 2;
l = 20;
alphabet = [ exp(j*pi/4); exp(j*3/4*pi); exp(j*5/4*pi); exp(j*7/4*pi) ];
h0 = crandn(m, 1);
h1 = crandn(l, 1);
h2 = crandn(m, l);
hmatrix1 = diag(h1);
ptx = 1;
vinit = alphabet(round(4*rand(l, 1)+0.5));
htotinit = (h0+h2*diag(vinit)*h1)*sqrt(ptx);
ginit = htotinit/(1+htotinit’*htotinit);
mseinit = 1/(1+htotinit’*htotinit);
gold = ginit;
vold = vinit;
mseold = mseinit;
iter = 1;
while 1 == 1,
a = hmatrix1’*h2’*gold;
b = gold’*h0-1;
vcand = b/abs(b)*a./abs(a);
vnew = zeros(l, 1);
vnew = sqrt(2)*((real(vnew) > 0)-0.5+j*(imag(vnew) > 0)-0.5);
if round(norm(vnew-vold)) == 0,
break;
end
htotnew = (h0+h2*diag(vnew)*h1)*sqrt(ptx);
gold = 1/(1+htotnew’*htotnew)*htotnew;
mseold = 1/(1+htotnew’*htotnew);
msenew = mseold
vold = vnew;
iter = iter+1;
end
disp(sprintf("MSEinit=%f", mseinit))
disp(sprintf("MSEupdated=%f", msenew))
disp(sprintf("number of iterations=%i", iter))
Why is my matlab showing this error?
I am able to run my code here but not in my matlab program.
Can anyone help? error, matlab function, missing toolbox MATLAB Answers — New Questions
Error in powergui while running a PV array model, Error reported by S-function ‘fun_spssw_discc_DSS’.
I am runnin a grid connected PV array (number of PV module connected in series and parallel) model, for fault analysis in PV array. While running simulation i got an error message:
=== Simulation (Elapsed: 56 sec) ===
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
Error reported by S-function ‘sfun_spssw_discc_DSS’ in ‘file_name/powergui/EquivalentModel1/State-Space’:
Nonlinear element(s) (RnonLin, Lsat) failed to converge after 100 iterations, t=0.80005 sec
How to rectify the error, and what is the cause of error, as error is reported in powergui. Please suggest something.I am runnin a grid connected PV array (number of PV module connected in series and parallel) model, for fault analysis in PV array. While running simulation i got an error message:
=== Simulation (Elapsed: 56 sec) ===
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
Error reported by S-function ‘sfun_spssw_discc_DSS’ in ‘file_name/powergui/EquivalentModel1/State-Space’:
Nonlinear element(s) (RnonLin, Lsat) failed to converge after 100 iterations, t=0.80005 sec
How to rectify the error, and what is the cause of error, as error is reported in powergui. Please suggest something. I am runnin a grid connected PV array (number of PV module connected in series and parallel) model, for fault analysis in PV array. While running simulation i got an error message:
=== Simulation (Elapsed: 56 sec) ===
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
Error reported by S-function ‘sfun_spssw_discc_DSS’ in ‘file_name/powergui/EquivalentModel1/State-Space’:
Nonlinear element(s) (RnonLin, Lsat) failed to converge after 100 iterations, t=0.80005 sec
How to rectify the error, and what is the cause of error, as error is reported in powergui. Please suggest something. powergui, simulink, pv array, s-function, nonlinear element, matlab MATLAB Answers — New Questions
Hello everyone, I need help. I am working on a robot arm project using MATLAB and a webcam to detect colors. Do you have any lessons or tutorials for me?
Hello everyone, I’m working on a robot arm project using MATLAB and Arduino. I use my phone as a webcam to detect colors (like red or green). If the system detects a red object, the robot arm moves and picks it up, then puts it in the red storage area.
Now, I want to improve the project. Instead of the robot always picking red automatically, I want to click on an object in the camera video (GUI in MATLAB) to choose which color to pick — for example, if I click on a red object, it will pick up red. If I click on green, it will pick up green.
I find it hard to research or find tutorials. Can someone help me or guide me with examples or lessons?Hello everyone, I’m working on a robot arm project using MATLAB and Arduino. I use my phone as a webcam to detect colors (like red or green). If the system detects a red object, the robot arm moves and picks it up, then puts it in the red storage area.
Now, I want to improve the project. Instead of the robot always picking red automatically, I want to click on an object in the camera video (GUI in MATLAB) to choose which color to pick — for example, if I click on a red object, it will pick up red. If I click on green, it will pick up green.
I find it hard to research or find tutorials. Can someone help me or guide me with examples or lessons? Hello everyone, I’m working on a robot arm project using MATLAB and Arduino. I use my phone as a webcam to detect colors (like red or green). If the system detects a red object, the robot arm moves and picks it up, then puts it in the red storage area.
Now, I want to improve the project. Instead of the robot always picking red automatically, I want to click on an object in the camera video (GUI in MATLAB) to choose which color to pick — for example, if I click on a red object, it will pick up red. If I click on green, it will pick up green.
I find it hard to research or find tutorials. Can someone help me or guide me with examples or lessons? arduino, arm, webcam, color, detection, color segmentation MATLAB Answers — New Questions
How do you match the width of figures in a tiledlayout when using axis equal?
There are 4 figures combined in a tiledlayout. The respective ratio of their dimensions is 1:1, using axis equal. However, their widths do not match. How can this be adapted? See the MWE:
clear variables; close all; clc;
tiledlayout(4,1)
amplitudes = [200e-3,50e-3,10e-3,200e-6];
wavelenghts = [50,500e-3,50e-3,500e-6];
for i = 1:numel(amplitudes)
nexttile
axis equal
x = 0:(wavelenghts(i)/100):(wavelenghts(i)/2);
y = amplitudes(i)*(1-cospi(2*1/wavelenghts(i)*x));
hold on
area(-x,y)
area(x,y)
xlim([-1 1]*wavelenghts(i)/2)
ylim([0 max(y)])
clear x y;
endThere are 4 figures combined in a tiledlayout. The respective ratio of their dimensions is 1:1, using axis equal. However, their widths do not match. How can this be adapted? See the MWE:
clear variables; close all; clc;
tiledlayout(4,1)
amplitudes = [200e-3,50e-3,10e-3,200e-6];
wavelenghts = [50,500e-3,50e-3,500e-6];
for i = 1:numel(amplitudes)
nexttile
axis equal
x = 0:(wavelenghts(i)/100):(wavelenghts(i)/2);
y = amplitudes(i)*(1-cospi(2*1/wavelenghts(i)*x));
hold on
area(-x,y)
area(x,y)
xlim([-1 1]*wavelenghts(i)/2)
ylim([0 max(y)])
clear x y;
end There are 4 figures combined in a tiledlayout. The respective ratio of their dimensions is 1:1, using axis equal. However, their widths do not match. How can this be adapted? See the MWE:
clear variables; close all; clc;
tiledlayout(4,1)
amplitudes = [200e-3,50e-3,10e-3,200e-6];
wavelenghts = [50,500e-3,50e-3,500e-6];
for i = 1:numel(amplitudes)
nexttile
axis equal
x = 0:(wavelenghts(i)/100):(wavelenghts(i)/2);
y = amplitudes(i)*(1-cospi(2*1/wavelenghts(i)*x));
hold on
area(-x,y)
area(x,y)
xlim([-1 1]*wavelenghts(i)/2)
ylim([0 max(y)])
clear x y;
end matlab, figure, tiledlayout, axis euqal MATLAB Answers — New Questions
Automating Microsoft 365 with PowerShell Second Edition
Completely Revised Version of Automating Microsoft 365 with PowerShell

Last year, the Office 365 for IT Pros team took the decision to carve out a chapter covering using PowerShell with Microsoft 365 and create a separate eBook. This doesn’t mean that the Office 365 for IT Pros eBook doesn’t include PowerShell examples because it still does feature many examples, especially for Teams, SharePoint Online, and Exchange Online. However, we were conscious of the growing influence and importance of the Microsoft Graph APIs and the Microsoft Graph PowerShell SDK and wanted to reflect the critical nature of these components. There’s no doubt that if tenant administrators understand how to interact with Microsoft 365 resources via the APIs (and PowerShell makes this relatively straightforward), it’s much easier to understand how Microsoft 365 works.
This realization brought us to create Automating Microsoft 365 with PowerShell, which we believe is the most complete treatment of using PowerShell to get things done inside a Microsoft 365 tenant that’s available today. Certainly, when you combine all the examples from Automating Office 365 with PowerShell and Office 365 for IT Pros, there’s lots of informative and useful PowerShell code to automate operations in a Microsoft 365 tenant.
An Imperfect First Edition
The first edition wasn’t perfect. Pulling out a bunch of PowerShell content from a book and attempting to make it a coherent story is always a challenge. The challenge becomes more complicated with the changes Microsoft made to the Graph APIs and the Microsoft Graph PowerShell SDK, many of which were to fix problems that should never have happened.
We’ve been working to make the coverage smoother, more informative, and more impactful since the launch of the first edition and have just completed a full end-to-end review of everything in the book. Code has been corrected, tightened, and expanded to make it more useful, and we have added a bunch of new material. We even included the late-breaking news that Microsoft has set a retirement date for the AzureAD module for mid-October 2025. The need for good information about how to migrate scripts that use the AzureAD module to the Microsoft Graph PowerShell SDK has never been more obvious.
The result of that work is delivered in the second edition, which is available today.
Second Edition Available Free to Subscribers
Because we appreciate the support of people who subscribe to our books and understand that sometimes the quality of the first edition of Automating Microsoft 365 with PowerShell wasn’t where we wanted it to be, we are making the second edition available free of charge to anyone who subscribed to the first edition. If you’re a subscriber, all you need to do is use the download link in the receipt emailed to you when you bought the subscription. This link always downloads the latest version of the book, and it will now download the second edition files (EPUB and PDF).
Automating Microsoft 365 with PowerShell is also included in the Office 365 for IT Pros eBook bundle. Subscribers to Office 365 for IT Pros 2026 edition, which we anticipate releasing tomorrow (July 1, 2025) will get the second edition along with the files for Office 365 for IT Pros (2026 edition). We’re also making the second edition available to subscribers to Office 365 for IT Pros (2025 edition). Once again, use the download link in your receipt to fetch the updated files.
Subscribers who download the second edition are eligible to receive updates up to and including June 30, 2026.
Regretfully, we cannot update the paperback version of the book that people have bought. However, the updated text is now available from Amazon.com, for those who like their technical material in a printed form.
Looking Forward to 2026
We’ll continue to work on the second edition of Automating Microsoft 365 with PowerShell over the coming months. There will be new Graph APIs to cover, gaps to fill in, and we know that the Microsoft Graph PowerShell SDK has some work to do to restore its reputation with customers. Nearly four million downloads of V2.25 of the Microsoft Graph PowerShell SDK speak to its popularity and usefulness. What everyone needs now is better quality and stability in the Graph APIs and SDK. When Microsoft delivers new versions, we’ll be there to parse, analyze, and report on the news.
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.
Reading column vectors from table with header text as variable name
I have an excel file with first row as header name for the corresponding column, each column has 4999 entries and 85 different readings. I want to load all the column vectors as a seperate variable. The variable name should be same as the header name from the excel file.
T = readtable("sample_data.csv");
S = T.Properties.VariableNames;
for i = 1:length(S)
assignin("base", S{i}, T.(S{i}))
end
This is what I came up with, but someone suggested not to use assignin command. Can some one suggest better alternative to this, also I don’t want to seperate the column vectors manually.
Thank you.I have an excel file with first row as header name for the corresponding column, each column has 4999 entries and 85 different readings. I want to load all the column vectors as a seperate variable. The variable name should be same as the header name from the excel file.
T = readtable("sample_data.csv");
S = T.Properties.VariableNames;
for i = 1:length(S)
assignin("base", S{i}, T.(S{i}))
end
This is what I came up with, but someone suggested not to use assignin command. Can some one suggest better alternative to this, also I don’t want to seperate the column vectors manually.
Thank you. I have an excel file with first row as header name for the corresponding column, each column has 4999 entries and 85 different readings. I want to load all the column vectors as a seperate variable. The variable name should be same as the header name from the excel file.
T = readtable("sample_data.csv");
S = T.Properties.VariableNames;
for i = 1:length(S)
assignin("base", S{i}, T.(S{i}))
end
This is what I came up with, but someone suggested not to use assignin command. Can some one suggest better alternative to this, also I don’t want to seperate the column vectors manually.
Thank you. importing excel data, variables, text file, solve MATLAB Answers — New Questions
Why cannot i learn simscape battery on ramp?
Post Content Post Content matlab MATLAB Answers — New Questions