Author: PuTI
Parfor HPC Cluster – How to Assign Objects to Same Core Consistently?
Hello,
TLDR: Is there a way to force Matlab to consistently assign a classdef object to the same core? With a parfor loop inside another loop?
Details:
I’m working on a fairly complex/large scale project which involves a large number of classdef objects & a 3D simulation. I’m running on an HPC cluster using the Slurm scheduler.
The 3D simulation has to run in a serial triple loop (at least for now; that’s not the bottleneck).
The bottleneck is the array of objects, each of which stores its own state & calls ode15s once per iteration. These are all independent so I want to run this part in a parfor loop, and this step takes much longer than the triple loop right now.
I’m running on a small test chunk within the 3D space, with about 1200 independent objects. Ultimately this will need to scale about 100x to 150,000 objects, so I need to make this as efficient as possible.
It looks like Matlab is smartly assigning the same object to the same core for the first ~704 objects, but then after that it randomly toggles between 2 cores & a few others:
This shows ~20 loops (loop iterations going downwards), with ~1200 class objects on the X axis; the colors represent the core/task assignment on each iteration using this to create this matrix:
task = getCurrentTask();
coreID(ti, ci) = task.ID;
This plot was created assigning the objects in a parfor loop, but that didn’t help:
The basic structure of the code is this:
% pseudocode:
n_objects = 1200; % this needs to scale up to ~150,000 (so ~100x)
for i:n_objects
object_array(i) = constructor();
% also tried doing this as parfor but didn’t help
end
% … other setup code…
% Big Loop:
dt = 1; % seconds
n_timesteps = 10000;
for i = 1:n_timesteps
% unavoidable 3D triple loop update
update3D(dt);
parfor j = 1:n_objects
% each object depends on 1 scalar from the 3D matrix
object_array(i).update_ODEs(dt); % each object calls ode15s independently
end
% update 3D matrix with 1 scalar from each ODE object
end
I’ve tried adding more RAM per core, but for some reason, it still seems to break after the 704th core, which is interesting.
And doing the object initialization/constructors inside a parfor loop made the initial core assignments less consistent (top row of plot).
Anyway, thank you for your help & please let me know if you have any ideas!
I’m also curious if there’s a way to make the "Big Loop" the parfor loop, and make a "serial critical section" or something for the 3D part? Or some other hack like that?
Thank you!
ETA 7/28/25: Updated pseudocode with dt & scalar values passing between 3D simulation & ODE objectsHello,
TLDR: Is there a way to force Matlab to consistently assign a classdef object to the same core? With a parfor loop inside another loop?
Details:
I’m working on a fairly complex/large scale project which involves a large number of classdef objects & a 3D simulation. I’m running on an HPC cluster using the Slurm scheduler.
The 3D simulation has to run in a serial triple loop (at least for now; that’s not the bottleneck).
The bottleneck is the array of objects, each of which stores its own state & calls ode15s once per iteration. These are all independent so I want to run this part in a parfor loop, and this step takes much longer than the triple loop right now.
I’m running on a small test chunk within the 3D space, with about 1200 independent objects. Ultimately this will need to scale about 100x to 150,000 objects, so I need to make this as efficient as possible.
It looks like Matlab is smartly assigning the same object to the same core for the first ~704 objects, but then after that it randomly toggles between 2 cores & a few others:
This shows ~20 loops (loop iterations going downwards), with ~1200 class objects on the X axis; the colors represent the core/task assignment on each iteration using this to create this matrix:
task = getCurrentTask();
coreID(ti, ci) = task.ID;
This plot was created assigning the objects in a parfor loop, but that didn’t help:
The basic structure of the code is this:
% pseudocode:
n_objects = 1200; % this needs to scale up to ~150,000 (so ~100x)
for i:n_objects
object_array(i) = constructor();
% also tried doing this as parfor but didn’t help
end
% … other setup code…
% Big Loop:
dt = 1; % seconds
n_timesteps = 10000;
for i = 1:n_timesteps
% unavoidable 3D triple loop update
update3D(dt);
parfor j = 1:n_objects
% each object depends on 1 scalar from the 3D matrix
object_array(i).update_ODEs(dt); % each object calls ode15s independently
end
% update 3D matrix with 1 scalar from each ODE object
end
I’ve tried adding more RAM per core, but for some reason, it still seems to break after the 704th core, which is interesting.
And doing the object initialization/constructors inside a parfor loop made the initial core assignments less consistent (top row of plot).
Anyway, thank you for your help & please let me know if you have any ideas!
I’m also curious if there’s a way to make the "Big Loop" the parfor loop, and make a "serial critical section" or something for the 3D part? Or some other hack like that?
Thank you!
ETA 7/28/25: Updated pseudocode with dt & scalar values passing between 3D simulation & ODE objects Hello,
TLDR: Is there a way to force Matlab to consistently assign a classdef object to the same core? With a parfor loop inside another loop?
Details:
I’m working on a fairly complex/large scale project which involves a large number of classdef objects & a 3D simulation. I’m running on an HPC cluster using the Slurm scheduler.
The 3D simulation has to run in a serial triple loop (at least for now; that’s not the bottleneck).
The bottleneck is the array of objects, each of which stores its own state & calls ode15s once per iteration. These are all independent so I want to run this part in a parfor loop, and this step takes much longer than the triple loop right now.
I’m running on a small test chunk within the 3D space, with about 1200 independent objects. Ultimately this will need to scale about 100x to 150,000 objects, so I need to make this as efficient as possible.
It looks like Matlab is smartly assigning the same object to the same core for the first ~704 objects, but then after that it randomly toggles between 2 cores & a few others:
This shows ~20 loops (loop iterations going downwards), with ~1200 class objects on the X axis; the colors represent the core/task assignment on each iteration using this to create this matrix:
task = getCurrentTask();
coreID(ti, ci) = task.ID;
This plot was created assigning the objects in a parfor loop, but that didn’t help:
The basic structure of the code is this:
% pseudocode:
n_objects = 1200; % this needs to scale up to ~150,000 (so ~100x)
for i:n_objects
object_array(i) = constructor();
% also tried doing this as parfor but didn’t help
end
% … other setup code…
% Big Loop:
dt = 1; % seconds
n_timesteps = 10000;
for i = 1:n_timesteps
% unavoidable 3D triple loop update
update3D(dt);
parfor j = 1:n_objects
% each object depends on 1 scalar from the 3D matrix
object_array(i).update_ODEs(dt); % each object calls ode15s independently
end
% update 3D matrix with 1 scalar from each ODE object
end
I’ve tried adding more RAM per core, but for some reason, it still seems to break after the 704th core, which is interesting.
And doing the object initialization/constructors inside a parfor loop made the initial core assignments less consistent (top row of plot).
Anyway, thank you for your help & please let me know if you have any ideas!
I’m also curious if there’s a way to make the "Big Loop" the parfor loop, and make a "serial critical section" or something for the 3D part? Or some other hack like that?
Thank you!
ETA 7/28/25: Updated pseudocode with dt & scalar values passing between 3D simulation & ODE objects parallel computing, parfor, hpc, cluster, memory fragmentation MATLAB Answers — New Questions
How can I configure MATLAB to use the local offline documentation instead of the online documentation?
I would like to be able to browse the locally installed documentation instead of the web documentation available at mathworks.com. I need to do this because my laptop does not always have an internet connection, or because my release is older than 5 years and the release-specific documentation is no longer available online. How can I configure MATLAB to do this?I would like to be able to browse the locally installed documentation instead of the web documentation available at mathworks.com. I need to do this because my laptop does not always have an internet connection, or because my release is older than 5 years and the release-specific documentation is no longer available online. How can I configure MATLAB to do this? I would like to be able to browse the locally installed documentation instead of the web documentation available at mathworks.com. I need to do this because my laptop does not always have an internet connection, or because my release is older than 5 years and the release-specific documentation is no longer available online. How can I configure MATLAB to do this? offline, documentation, installed, local, doc MATLAB Answers — New Questions
Error Using unitConvert from Celsius to Fahrenheit.
When using unitConvert from Celsius to Fahrenheit and vice versa I noticed it was giving me incorrect answers. It is just multiplying or dividing by 9/5ths and forgetting to add or subtract the 32. Is there a way to fix this or is this a bug.When using unitConvert from Celsius to Fahrenheit and vice versa I noticed it was giving me incorrect answers. It is just multiplying or dividing by 9/5ths and forgetting to add or subtract the 32. Is there a way to fix this or is this a bug. When using unitConvert from Celsius to Fahrenheit and vice versa I noticed it was giving me incorrect answers. It is just multiplying or dividing by 9/5ths and forgetting to add or subtract the 32. Is there a way to fix this or is this a bug. bug, symbolic MATLAB Answers — New Questions
Help with Solving PDE System with DAE in MATLAB
I hope you’re doing well. My name is William. I’m currently working on a problem and was hoping you might be able to help. I have a system of PDEs, but one of the variables does not include a time derivative (e.g., no ∂u/∂t), even though the variable depends on both time and space. I’m not sure how to approach solving this in MATLAB. I’ve been able to implement it in gPROMS, but translating it into MATLAB has been challenging.
I tried to follow your DAE method, but my variables depend on both time and space—not just time—so I’m unsure how to proceed. If you could offer any guidance or point me in the right direction, I would greatly appreciate it.
Thank you for your time and support.
Best regards,
WilliamI hope you’re doing well. My name is William. I’m currently working on a problem and was hoping you might be able to help. I have a system of PDEs, but one of the variables does not include a time derivative (e.g., no ∂u/∂t), even though the variable depends on both time and space. I’m not sure how to approach solving this in MATLAB. I’ve been able to implement it in gPROMS, but translating it into MATLAB has been challenging.
I tried to follow your DAE method, but my variables depend on both time and space—not just time—so I’m unsure how to proceed. If you could offer any guidance or point me in the right direction, I would greatly appreciate it.
Thank you for your time and support.
Best regards,
William I hope you’re doing well. My name is William. I’m currently working on a problem and was hoping you might be able to help. I have a system of PDEs, but one of the variables does not include a time derivative (e.g., no ∂u/∂t), even though the variable depends on both time and space. I’m not sure how to approach solving this in MATLAB. I’ve been able to implement it in gPROMS, but translating it into MATLAB has been challenging.
I tried to follow your DAE method, but my variables depend on both time and space—not just time—so I’m unsure how to proceed. If you could offer any guidance or point me in the right direction, I would greatly appreciate it.
Thank you for your time and support.
Best regards,
William dae MATLAB Answers — New Questions
Add column with values to table based on value in existing column (look up)
I want to add a column to the end of Matrix.csv (my actual data is irregular and 18000+ lines) that matches the value in the Direction column to the heading below and outputs the corresponding wDir value.
I am trying to produce something like an excel lookup function after creating headingTable through the below code.
heading = ["000", "015", "030", "045", "060", "075", "090", "105", "120", "135", "150", "165", …
"180", "195", "210", "225", "240", "255", "270", "285", "300", "315", "330", "345"];
wDir = [90 75 60 45 30 15 0 345 330 315 300 295 270 255 240 225 210 195 180 165 150 135 120 105];
count = 0;
for i =1:numel(wDir)
heading1 = heading(i);
wDir1 = wDir(i);
outData = [heading1 wDir1];
count =count + 1;
headingTable(count,:) = outData;
endI want to add a column to the end of Matrix.csv (my actual data is irregular and 18000+ lines) that matches the value in the Direction column to the heading below and outputs the corresponding wDir value.
I am trying to produce something like an excel lookup function after creating headingTable through the below code.
heading = ["000", "015", "030", "045", "060", "075", "090", "105", "120", "135", "150", "165", …
"180", "195", "210", "225", "240", "255", "270", "285", "300", "315", "330", "345"];
wDir = [90 75 60 45 30 15 0 345 330 315 300 295 270 255 240 225 210 195 180 165 150 135 120 105];
count = 0;
for i =1:numel(wDir)
heading1 = heading(i);
wDir1 = wDir(i);
outData = [heading1 wDir1];
count =count + 1;
headingTable(count,:) = outData;
end I want to add a column to the end of Matrix.csv (my actual data is irregular and 18000+ lines) that matches the value in the Direction column to the heading below and outputs the corresponding wDir value.
I am trying to produce something like an excel lookup function after creating headingTable through the below code.
heading = ["000", "015", "030", "045", "060", "075", "090", "105", "120", "135", "150", "165", …
"180", "195", "210", "225", "240", "255", "270", "285", "300", "315", "330", "345"];
wDir = [90 75 60 45 30 15 0 345 330 315 300 295 270 255 240 225 210 195 180 165 150 135 120 105];
count = 0;
for i =1:numel(wDir)
heading1 = heading(i);
wDir1 = wDir(i);
outData = [heading1 wDir1];
count =count + 1;
headingTable(count,:) = outData;
end column, lookup, matrix, table, match, matching MATLAB Answers — New Questions
Creating a grouped bar plot from a table having multiple column
I have the following table:
ValuationRatios company industry sector
___________________________________ _______ ________ ______
"P/E Ratio" 31.96 0 0
"Price/Revenue" 7.79 6.35 7.04
"Price/Book" 45.88 25.45 10.02
"Price to Cash Flow per Share" 28.46 1.33 3.89
"Price to Free Cash Flow per Share" 31.66 1.82 6.37
"Dividend Yield" 0.49 0.49 0.6
"Payout Ratio" 15.58 15.59 28.8
"Quick/Acid Test Ratio" 0.75 0.61 1.03
whos Tindclean
Name Size Bytes Class Attributes
Tindclean 23×4 4221 table
Tindclean.Properties.VariableTypes
string double double double (1 x 4) string
I am trying to create a grouped bar plot/stacked from the table.I have the following table:
ValuationRatios company industry sector
___________________________________ _______ ________ ______
"P/E Ratio" 31.96 0 0
"Price/Revenue" 7.79 6.35 7.04
"Price/Book" 45.88 25.45 10.02
"Price to Cash Flow per Share" 28.46 1.33 3.89
"Price to Free Cash Flow per Share" 31.66 1.82 6.37
"Dividend Yield" 0.49 0.49 0.6
"Payout Ratio" 15.58 15.59 28.8
"Quick/Acid Test Ratio" 0.75 0.61 1.03
whos Tindclean
Name Size Bytes Class Attributes
Tindclean 23×4 4221 table
Tindclean.Properties.VariableTypes
string double double double (1 x 4) string
I am trying to create a grouped bar plot/stacked from the table. I have the following table:
ValuationRatios company industry sector
___________________________________ _______ ________ ______
"P/E Ratio" 31.96 0 0
"Price/Revenue" 7.79 6.35 7.04
"Price/Book" 45.88 25.45 10.02
"Price to Cash Flow per Share" 28.46 1.33 3.89
"Price to Free Cash Flow per Share" 31.66 1.82 6.37
"Dividend Yield" 0.49 0.49 0.6
"Payout Ratio" 15.58 15.59 28.8
"Quick/Acid Test Ratio" 0.75 0.61 1.03
whos Tindclean
Name Size Bytes Class Attributes
Tindclean 23×4 4221 table
Tindclean.Properties.VariableTypes
string double double double (1 x 4) string
I am trying to create a grouped bar plot/stacked from the table. group bar or stacked plot with multiple columns MATLAB Answers — New Questions
fractional discrete henon map
I’m currently working on the fractional Hénon map, but I’m facing difficulties in drawing the bifurcation diagrams correctly. I’m not sure how to implement the fractional order in the iteration process or which method is most suitable. I would really appreciate any guidance or examples you could provide.I’m currently working on the fractional Hénon map, but I’m facing difficulties in drawing the bifurcation diagrams correctly. I’m not sure how to implement the fractional order in the iteration process or which method is most suitable. I would really appreciate any guidance or examples you could provide. I’m currently working on the fractional Hénon map, but I’m facing difficulties in drawing the bifurcation diagrams correctly. I’m not sure how to implement the fractional order in the iteration process or which method is most suitable. I would really appreciate any guidance or examples you could provide. henon fractional map, bifurcation diagram MATLAB Answers — New Questions
How can I declare Hexadecimal enum constants in a classdef
classdef xyz
properties(Constant)
WaveformTypes = struct(‘SINE’,0, ‘SQUARE’,1, ‘TRIANGLE’,2, ‘RAMP UP’,3, …
‘RAMP DOWN’,4, ‘DC’,5, ‘PULSE’,6, ‘PWM’,7, ‘ARB’,8, ‘COMPOSITE’,9, ‘CUSTOM LUT’, A);
end
methods(Static)
*functions of xyz implemented with calllib*
end
end
I tried using 0x1, 0x2, etc, but this throws a property syntax error. My first question is, will the ‘A’ here denote a hexadecimal value? If not, how else do I declare?
My second question, is there is a better way to implement this? Please ask if you need any further info. Cheers!classdef xyz
properties(Constant)
WaveformTypes = struct(‘SINE’,0, ‘SQUARE’,1, ‘TRIANGLE’,2, ‘RAMP UP’,3, …
‘RAMP DOWN’,4, ‘DC’,5, ‘PULSE’,6, ‘PWM’,7, ‘ARB’,8, ‘COMPOSITE’,9, ‘CUSTOM LUT’, A);
end
methods(Static)
*functions of xyz implemented with calllib*
end
end
I tried using 0x1, 0x2, etc, but this throws a property syntax error. My first question is, will the ‘A’ here denote a hexadecimal value? If not, how else do I declare?
My second question, is there is a better way to implement this? Please ask if you need any further info. Cheers! classdef xyz
properties(Constant)
WaveformTypes = struct(‘SINE’,0, ‘SQUARE’,1, ‘TRIANGLE’,2, ‘RAMP UP’,3, …
‘RAMP DOWN’,4, ‘DC’,5, ‘PULSE’,6, ‘PWM’,7, ‘ARB’,8, ‘COMPOSITE’,9, ‘CUSTOM LUT’, A);
end
methods(Static)
*functions of xyz implemented with calllib*
end
end
I tried using 0x1, 0x2, etc, but this throws a property syntax error. My first question is, will the ‘A’ here denote a hexadecimal value? If not, how else do I declare?
My second question, is there is a better way to implement this? Please ask if you need any further info. Cheers! classes, constants, hexadecimal, enums MATLAB Answers — New Questions
Find your Office apps in Windows – Microsoft Support
Learn how to find your Office apps in Windows 10 by searching for them in the search box on the taskbar.
I have enabled SSH and am accessing my Raspberry Pi 5 using VNC. The Raspberry Pi is also connected to the network. However, when I try to check the connection, the system sho
Post Content Post Content simulink, matlab MATLAB Answers — New Questions
How Microsoft’s customers and partners accelerated AI Transformation in FY25 to innovate with purpose and shape their future success
Over the past fiscal year, our customers and partners have driven pragmatic outcomes by implementing AI-first strategies across their organizations. With AI Transformation as their framework, we helped them enrich employee experiences, reinvent customer engagement, reshape business processes and bend the curve on innovation for their people, businesses and industries. Now, we are partnering to go beyond what they thought possible to unlock even greater potential by restructuring and centralizing their business strategies with an AI-first mindset. Our cloud and AI capabilities are leading the industry, and we are committed to working closely with our customers and partners to meet their increasingly complex needs and help them become frontier AI firms.
Below are several stories from the past quarter reflecting the success we have seen broadly this past year. Each showcases what we can achieve together with an approach grounded in AI business solutions, cloud and AI platforms, and security.
AI is blurring the lines between personal and organizational productivity, and we are helping our customers leverage Copilots and agents combined with human ambition to create differentiation.
With over one million customers in Argentina, Banco Ciudad launched a digital transformation initiative focused on AI, productivity and security. What began as a pilot program quickly grew into broad adoption with the bank implementing Microsoft 365 Copilot to improve productivity, Microsoft Copilot Studio to develop agents and Microsoft Azure to scale their AI solutions. As a result, the bank strengthened its operational resilience, empowered teams, drove sustainable growth and improved customer engagement — even in a challenging economic environment. So far, the bank has freed up 2,400 employee work hours annually with savings projected to generate $75,000 USD monthly.
As one of the country’s largest financial institutions, Commonwealth Bank of Australia is harnessing AI to meet rising customer expectations by developing smarter, more secure and highly customizable banking experiences at scale. To ensure employees have the confidence and expertise to leverage AI effectively, the bank launched a structured skilling initiative to empower them with the knowledge needed to adopt AI effectively. Eighty-four percent of 10,000 Microsoft 365 Copilot users reported they would not go back to working without it; and nearly 30% of GitHub Copilot code suggestions were adopted, driving efficiency and smarter decision-making.
Nonprofit Make-A-Wish is dedicated to granting hope by fulfilling wishes for children with critical illnesses across the United States. Fragmented systems, limited data access and the need to protect sensitive information were creating challenges for the organization to operate effectively, so it turned to partner Redapt for support. Make-A-Wish deployed comprehensive Microsoft cloud and AI solutions — including Azure Cloud Services, Microsoft Fabric, Microsoft 365 Copilot and Copilot Studio — to unify its data, rebuild core applications and boost staff productivity. This transformation enabled the organization to increase operational efficiency, improve collaboration across national and regional chapters and strengthen its data security to protect sensitive family data.
Sheló NABEL, a wellness and beauty company based in Mexico, faced operational challenges as it expanded its network of independent entrepreneurs. With support from partner Best Practices Consulting, the company integrated Microsoft Dynamics 365 to gain real-time market insights and optimize its demand planning across more than 400 products. They also integrated Microsoft Copilot to enhance customer service and increase operational efficiency with AI. As a result, the company has achieved a 17% increase in sales, 5X faster reporting processes and real-time inventory control.
Based in Saudi Arabia, technology and communications company Unifonic serves millions of people across 160 countries. As their business began to scale rapidly, they faced challenges managing a growing hybrid workforce while maintaining strong security and compliance standards. To solve this, the company deployed Microsoft 365 E5 and Microsoft 365 Copilot to automate workflows and secure data in one platform. This unified ecosystem enabled teams to reduce time spent on audits by 85%, save two hours per day on cybersecurity governance, save $250,000 USD in costs and reduce time to set up client demos by 15%.
Microsoft has the leading cloud platform for AI innovation with Azure as the infrastructure, Azure AI Foundry as the applications server and Fabric as the data platform.
As legal professionals face challenges with manual data entry, document generation and compliance-heavy processes, Assembly Software aimed to transform how they handle complex, time-consuming workflows. Using Azure AI Foundry, the company built NeosAI — a fully embedded generative AI solution that automates nearly every aspect of the legal workflow — from document intake to drafting and reporting. As a result, law firms using NeosAI report saving up to 25 hours per case, with document drafting time reduced from 40 hours to just minutes. This AI solution is not only boosting productivity and reducing stress for legal professionals but also enabling firms to serve more clients with greater speed and accuracy.
One of the world’s oldest continuously operating companies, Husqvarna Group, faced increasing pressure to modernize its network of factories, supply chains and distribution channels to stay competitive in a rapidly evolving landscape. The company implemented a comprehensive Microsoft Azure solution — including Azure Arc, Azure IoT Operations and Azure OpenAI — to unify cloud and on-premises systems, enable real-time data insights and drive innovation across global manufacturing operations. As a result, the company achieved a 98% reduction in data deployment time, cut infrastructure imaging costs by 50% and significantly improved productivity and uptime across its connected factories.
Serving over 600,000 members in the United States, Members 1st Federal Credit Union sought to modernize its data infrastructure to deliver more personalized member experiences and support data-driven decision-making. The credit union faced challenges with siloed data across more than 15 sources and legacy systems with limited analytics capabilities. With support from partner 3Cloud, the credit union combined Azure SQL, Azure Data Factory and Azure Databricks to extract, log and centralize enterprise-wide data into a cutting-edge data lakehouse. Machine learning models that took 36 hours to run can now be done in three to four hours — a reduction of about 89%. Additionally, updates within its customer relationship management software now take 30 to 40 minutes compared to three to four hours previously.
NTT DATA, a global IT and business services leader headquartered in Japan, sought to accelerate decision-making and unlock deeper insights by overcoming limitations of legacy dashboards and siloed data systems. Serving clients in over 50 countries, the company needed a more intuitive, scalable and AI-driven approach to data access and analysis. NTT DATA deployed Microsoft Fabric, Azure AI Foundry Agent Service and Azure AI Foundry to enable the creation of conversational AI tools that allow employees to retrieve and act on real-time data. This agentic AI platform significantly improved productivity, reduced time to market for new solutions by 50% and laid the foundation for broader adoption of multi-agent frameworks across the organization.
University of Venda, a public higher education institution in South Africa, modernized its IT infrastructure to support its strategic goal of producing globally competitive graduates while meeting the evolving needs of its regional and international students. Facing challenges with aging on-premises servers, frequent service interruptions and a six-month hardware procurement cycle, the university sought a more agile and reliable solution. By deploying Microsoft 365, migrating 18 systems to Microsoft Azure and leveraging Microsoft Unified Support, the university achieved 99% service uptime and reduced resource provisioning time from six months to under 12 hours. This transformation significantly improved system reliability, scalability and security, enabling students and staff to access essential services seamlessly from anywhere.
Security is the foundation for AI Transformation. We are helping our customers and partners defend against threat actors and secure their environments with Microsoft’s cloud and AI solutions.
Following its spinoff from Eli Lilly, Elanco sought to modernize its IT and security infrastructure by building a secure, scalable digital environment from the ground up. The company deployed a comprehensive Microsoft solution stack comprised of Microsoft 365 E5, Microsoft Defender suite, Microsoft Sentinel, Microsoft Intune and Microsoft Security Copilot. This integrated approach streamlined global IT operations across 90 countries, enabling Elanco to accelerate security response times by 50% with a future-ready, secure and efficient digital ecosystem that empowers their workforce.
Kern County faced significant challenges securing and governing their data across 40 departments — each operating with fragmented IT systems. With an approach grounded in data protection, the county deployed Microsoft Purview as part of its Microsoft 365 Government G5 suite. The implementation resulted in the classification of over 13 million files, near-total adoption of sensitivity labels and over 3,000 data loss prevention alerts in a single month. A validation assessment also showed the county saved about $1 million in mitigation risk and potential noncompliance. This transformation strengthened audit readiness, reduced data exposure risks and laid a secure foundation for future innovation.
Headquartered in the Czech Republic, Mews provides cloud-based property management solutions to help modernize hotel operations worldwide. As it scaled its platform to serve thousands of properties worldwide, the company faced increasing cybersecurity threats and sought to strengthen its security posture and streamline threat detection. By deploying Microsoft Sentinel, Microsoft Defender for Cloud, Microsoft Entra ID and Microsoft Security Copilot, they enabled real-time monitoring, automated threat response and centralized visibility across its cloud infrastructure. As a result, the company reduced incident response times from hours to minutes and enhanced its ability to meet stringent compliance requirements to ensure secure growth in a highly regulated industry.
Puritan Life Insurance Company of America transformed its business model by launching Canvas Annuity — a direct-to-consumer digital distribution platform built entirely on Microsoft Azure. With the security features built into the technology out of the box, the team can detect and block malware attacks and threats, manage security efficiently and more easily pass regulatory, financial and information security audits. By creating a secure, scalable and user-friendly platform, customers can now purchase annuities online in just 10 minutes — a speed previously unheard of. Since launching, the company has seen a 700% increase in annual premium revenue, with the platform now accounting for 75% of premiums every year.
Facing growing cyber threats to its research, Singapore Management University needed to maintain seamless access for students and faculty while ensuring compliance with the country’s stringent data privacy regulations. The university implemented Microsoft’s Zero Trust framework by integrating Microsoft Security Copilot with Microsoft’s comprehensive security suite to strengthen protection while maintaining academic accessibility. This helped reduce response times and ease workloads for security teams while also supporting security analysts to streamline incident investigations, summarize complex multistage attacks and receive guided response recommendations in real time. The integrated security solution reduced operational costs and enhanced compliance reporting while maintaining seamless access to research resources.
For additional AI Transformation stories, check out AI-powered success—with more than 1,000 stories of customer transformation and innovation.
I could not be more excited by our mission than I am today — and I believe we have never been closer to bringing it to life than we are right now. With Microsoft’s leading technology and expertise, we are helping our customers and partners implement AI to bring out the best in individuals, organizations and companies. We are partnering to reinvent their business strategies and move beyond AI adoption alone to innovate with purpose and shape their futures as frontier AI firms. The opportunity to differentiate your business through AI Transformation and pave the way for industry leadership is now.
The post How Microsoft’s customers and partners accelerated AI Transformation in FY25 to innovate with purpose and shape their future success appeared first on The Official Microsoft Blog.
Over the past fiscal year, our customers and partners have driven pragmatic outcomes by implementing AI-first strategies across their organizations. With AI Transformation as their framework, we helped them enrich employee experiences, reinvent customer engagement, reshape business processes and bend the curve on innovation for their people, businesses and industries. Now, we are partnering to…
The post How Microsoft’s customers and partners accelerated AI Transformation in FY25 to innovate with purpose and shape their future success appeared first on The Official Microsoft Blog.Read More
how can I get back the line link in error messages?
Hey there,
I recently upgraded my MATLAB to R2025a for a workstation using Ubuntu 22.04.5 LTS.
However, I noticed that a really nice feature for debugging dispeared in my new version: the link to the line of the code that gives the runtime error to allow me to quickly navigate to the code location. now I have to use ctrl + g then fill in the line number to navigate
I tried googling the way to enable the line linking option, but didn’t find anything useful for this new version of MATLAB.
Would really appreciate it if someone could help out ! Thanks!Hey there,
I recently upgraded my MATLAB to R2025a for a workstation using Ubuntu 22.04.5 LTS.
However, I noticed that a really nice feature for debugging dispeared in my new version: the link to the line of the code that gives the runtime error to allow me to quickly navigate to the code location. now I have to use ctrl + g then fill in the line number to navigate
I tried googling the way to enable the line linking option, but didn’t find anything useful for this new version of MATLAB.
Would really appreciate it if someone could help out ! Thanks! Hey there,
I recently upgraded my MATLAB to R2025a for a workstation using Ubuntu 22.04.5 LTS.
However, I noticed that a really nice feature for debugging dispeared in my new version: the link to the line of the code that gives the runtime error to allow me to quickly navigate to the code location. now I have to use ctrl + g then fill in the line number to navigate
I tried googling the way to enable the line linking option, but didn’t find anything useful for this new version of MATLAB.
Would really appreciate it if someone could help out ! Thanks! feature setting, debugging, error link to line MATLAB Answers — New Questions
HYBRID ENERGY STORAGE SYSTEM SUPERCAPACITOR BATTERY OFF-GRID SOLAR POWER SYSTEM
Hi friends, can I ask for your help? I am a student and am currently working on my final project. I’m stuck and don’t know who to ask for help. I’m developing a HESS supercapacitor battery system for an off-grid solar power plant. However, I’m not getting the results I want. I’m confused by the results because the current or power in the supercapacitor isn’t functioning properly, and the current or power from the battery reacts too quickly, so it doesn’t show the benefits of the supercapacitor. Does anyone know where the problem lies and how to solve it? I am willing to pay if necessary, but my funds are limited. I will do my best to make it work.Hi friends, can I ask for your help? I am a student and am currently working on my final project. I’m stuck and don’t know who to ask for help. I’m developing a HESS supercapacitor battery system for an off-grid solar power plant. However, I’m not getting the results I want. I’m confused by the results because the current or power in the supercapacitor isn’t functioning properly, and the current or power from the battery reacts too quickly, so it doesn’t show the benefits of the supercapacitor. Does anyone know where the problem lies and how to solve it? I am willing to pay if necessary, but my funds are limited. I will do my best to make it work. Hi friends, can I ask for your help? I am a student and am currently working on my final project. I’m stuck and don’t know who to ask for help. I’m developing a HESS supercapacitor battery system for an off-grid solar power plant. However, I’m not getting the results I want. I’m confused by the results because the current or power in the supercapacitor isn’t functioning properly, and the current or power from the battery reacts too quickly, so it doesn’t show the benefits of the supercapacitor. Does anyone know where the problem lies and how to solve it? I am willing to pay if necessary, but my funds are limited. I will do my best to make it work. hess, hybrid, energy, system, storage, battery_system_management, power_electronics_control, simpowersystems, pv, solar, pi, pid, supercapacitor, battery MATLAB Answers — New Questions
FOC in Simulink for induction motor: Te = 0 and only one PWM phase reaches Vdc
I’m developing a Field Oriented Control (FOC) system for an Induction Motor (IM) in Simulink. The model includes:
Inverter driven by a PWM block
Rotor position and speed measurement or estimation
Clarke and Park transformations
PID controllers for Id and Iq
Reference inputs for rotor flux and rotor angle (θ<sub>r</sub>)
The PID controllers are configured with standard parameters and anti-windup enabled
Issue:
The electromagnetic torque Te stays at zero, even when a non-zero speed reference is applied
Only one of the PWM output voltages reaches Vdc; the other two remain very low or close to zero
Checks already performed:
The motor feedback currents seem correct
Iq ≠ 0 and Id = 0, as expected
The inverter output voltages toward the motor appear to be valid
The reference signals reach the PID controllers properly
Attached:
A picture of the full FOC model in Simulink
Parameter settings of the induction motor
Scopes showing Te and the PWM input signalsI’m developing a Field Oriented Control (FOC) system for an Induction Motor (IM) in Simulink. The model includes:
Inverter driven by a PWM block
Rotor position and speed measurement or estimation
Clarke and Park transformations
PID controllers for Id and Iq
Reference inputs for rotor flux and rotor angle (θ<sub>r</sub>)
The PID controllers are configured with standard parameters and anti-windup enabled
Issue:
The electromagnetic torque Te stays at zero, even when a non-zero speed reference is applied
Only one of the PWM output voltages reaches Vdc; the other two remain very low or close to zero
Checks already performed:
The motor feedback currents seem correct
Iq ≠ 0 and Id = 0, as expected
The inverter output voltages toward the motor appear to be valid
The reference signals reach the PID controllers properly
Attached:
A picture of the full FOC model in Simulink
Parameter settings of the induction motor
Scopes showing Te and the PWM input signals I’m developing a Field Oriented Control (FOC) system for an Induction Motor (IM) in Simulink. The model includes:
Inverter driven by a PWM block
Rotor position and speed measurement or estimation
Clarke and Park transformations
PID controllers for Id and Iq
Reference inputs for rotor flux and rotor angle (θ<sub>r</sub>)
The PID controllers are configured with standard parameters and anti-windup enabled
Issue:
The electromagnetic torque Te stays at zero, even when a non-zero speed reference is applied
Only one of the PWM output voltages reaches Vdc; the other two remain very low or close to zero
Checks already performed:
The motor feedback currents seem correct
Iq ≠ 0 and Id = 0, as expected
The inverter output voltages toward the motor appear to be valid
The reference signals reach the PID controllers properly
Attached:
A picture of the full FOC model in Simulink
Parameter settings of the induction motor
Scopes showing Te and the PWM input signals foc, simulink, matlab, induction-motor, pwm, vector control, te zero MATLAB Answers — New Questions
Is it possible to add a secondary y axis while using the stackedplot function?
Is it possible to add a secondary y axis while using the stackedplot function? I have some overlayed data in my stackedplot and I would like to add a secondary y axis for some of the individual plots. Is this possible?Is it possible to add a secondary y axis while using the stackedplot function? I have some overlayed data in my stackedplot and I would like to add a secondary y axis for some of the individual plots. Is this possible? Is it possible to add a secondary y axis while using the stackedplot function? I have some overlayed data in my stackedplot and I would like to add a secondary y axis for some of the individual plots. Is this possible? stackedplot, secondary yaxis MATLAB Answers — New Questions
please help to find the roots of dispersion relation w^2=g*k_0*tanh(k_0*h) and w^2=-g*k_m*tan(k_m*h). for m=0 and m=1,2,3,….. where w=2*pi/T, T is time period (constant) and
please help to find the roots of dispersion relation w^2=g*k_0*tanh(k_0*h) and w^2=-g*k_m*tan(k_m*h). for m=0 and m=1,2,3,….. where w=2*pi/T, T is time period (constant) and h is constant, k=2*pi/lambdaplease help to find the roots of dispersion relation w^2=g*k_0*tanh(k_0*h) and w^2=-g*k_m*tan(k_m*h). for m=0 and m=1,2,3,….. where w=2*pi/T, T is time period (constant) and h is constant, k=2*pi/lambda please help to find the roots of dispersion relation w^2=g*k_0*tanh(k_0*h) and w^2=-g*k_m*tan(k_m*h). for m=0 and m=1,2,3,….. where w=2*pi/T, T is time period (constant) and h is constant, k=2*pi/lambda k km dispersion relation water wave owc MATLAB Answers — New Questions
Export True and Predicted Class Labels from All Models in Classification Learner to CSV/Excel for Research Report
I am using MATLAB’s Classification Learner App to train multiple models (e.g., SVM, KNN, NN, etc.) on my dataset. The app displays the confusion matrix for each model individually, which is helpful.
For my research, I want to export the predicted class labels along with the true class labels for each trained model into a single .csv or .xlsx file — ideally including:
Model name
True class label
Predicted class label
How can I export these predictions for all models from Classification Learner into a table form from the classifier learner?I am using MATLAB’s Classification Learner App to train multiple models (e.g., SVM, KNN, NN, etc.) on my dataset. The app displays the confusion matrix for each model individually, which is helpful.
For my research, I want to export the predicted class labels along with the true class labels for each trained model into a single .csv or .xlsx file — ideally including:
Model name
True class label
Predicted class label
How can I export these predictions for all models from Classification Learner into a table form from the classifier learner? I am using MATLAB’s Classification Learner App to train multiple models (e.g., SVM, KNN, NN, etc.) on my dataset. The app displays the confusion matrix for each model individually, which is helpful.
For my research, I want to export the predicted class labels along with the true class labels for each trained model into a single .csv or .xlsx file — ideally including:
Model name
True class label
Predicted class label
How can I export these predictions for all models from Classification Learner into a table form from the classifier learner? confusion matrix, csv file MATLAB Answers — New Questions
Difference between integral and cumtrapz.
I have a tempral data series, which I need to integrate. In order to understand how Matlab does that, I start with a parabola as the data series. Could you guys please explain me why I get completely different results using the integral and cumtrapz funtions? The cumtrapz is giving me a cubic function, but I have no idea why it is only positive and I also do not understand the limits. My understanding is that the answer should be simple: intfx = x^3/3…
x = [-10:0.01:10]’;
fx = x.^2;
% intfx = integral(@(x) fx, x(1), x(end), ‘ArrayValued’, true);
intfx = cumtrapz(fx,x);
plot(x,fx,’b’)
hold on
plot(x,intfx,’r’)I have a tempral data series, which I need to integrate. In order to understand how Matlab does that, I start with a parabola as the data series. Could you guys please explain me why I get completely different results using the integral and cumtrapz funtions? The cumtrapz is giving me a cubic function, but I have no idea why it is only positive and I also do not understand the limits. My understanding is that the answer should be simple: intfx = x^3/3…
x = [-10:0.01:10]’;
fx = x.^2;
% intfx = integral(@(x) fx, x(1), x(end), ‘ArrayValued’, true);
intfx = cumtrapz(fx,x);
plot(x,fx,’b’)
hold on
plot(x,intfx,’r’) I have a tempral data series, which I need to integrate. In order to understand how Matlab does that, I start with a parabola as the data series. Could you guys please explain me why I get completely different results using the integral and cumtrapz funtions? The cumtrapz is giving me a cubic function, but I have no idea why it is only positive and I also do not understand the limits. My understanding is that the answer should be simple: intfx = x^3/3…
x = [-10:0.01:10]’;
fx = x.^2;
% intfx = integral(@(x) fx, x(1), x(end), ‘ArrayValued’, true);
intfx = cumtrapz(fx,x);
plot(x,fx,’b’)
hold on
plot(x,intfx,’r’) integral, cumtrapz MATLAB Answers — New Questions
dispersion equation in water waves
I am solving dispersion equation for water waves. I already solved it but with small h now i am using the same code but having different h and it give me incorrect evenscent modes. How i can fix my this code that it works well. Below is my code
clc;
close all;
clear all;
N = 10; % Terms number used in region I
% — 2. Dimensional geometry & environment ———————
RI = 34.5; % [m] inner / entrance radius (fully open ⇒ RI = RT)
RE = 47.5; % [m] outer hull radius (used for k0*RE axis)
d = 38.0; % [m] draft = free-surface → rim (water-column length)
h = 200; % [m] total water depth (free-surface → seabed)
b = h – d; % [m] clearance rim → seabed (= 162 m, not usually used)
g=9.81;
k0RE = linspace(5, 35, 200); % 200 points, dimension-less
I_given_wavenumber = 1;
% ————— ① pre-allocate
for j = 1:length(k0RE)
if I_given_wavenumber == 1
wk = k0RE(j)/RE; %wavenumber
omega = sqrt(g*wk*tanh(wk*h)); %wave radian frequency
fun_alpha = @(x) omega^2 + g*x*tan(x*h); %dispersion equation for evanescent modes
end
for n = 1:N
if n ==1
k(n) = -1i*wk;
else
x0_alpha = [(2*n -3)*pi/2./h, (2*n -1)*pi/2./h]; % Narrow interval
k(n) = fsolve(fun_alpha, mean(x0_alpha));
end
end
endI am solving dispersion equation for water waves. I already solved it but with small h now i am using the same code but having different h and it give me incorrect evenscent modes. How i can fix my this code that it works well. Below is my code
clc;
close all;
clear all;
N = 10; % Terms number used in region I
% — 2. Dimensional geometry & environment ———————
RI = 34.5; % [m] inner / entrance radius (fully open ⇒ RI = RT)
RE = 47.5; % [m] outer hull radius (used for k0*RE axis)
d = 38.0; % [m] draft = free-surface → rim (water-column length)
h = 200; % [m] total water depth (free-surface → seabed)
b = h – d; % [m] clearance rim → seabed (= 162 m, not usually used)
g=9.81;
k0RE = linspace(5, 35, 200); % 200 points, dimension-less
I_given_wavenumber = 1;
% ————— ① pre-allocate
for j = 1:length(k0RE)
if I_given_wavenumber == 1
wk = k0RE(j)/RE; %wavenumber
omega = sqrt(g*wk*tanh(wk*h)); %wave radian frequency
fun_alpha = @(x) omega^2 + g*x*tan(x*h); %dispersion equation for evanescent modes
end
for n = 1:N
if n ==1
k(n) = -1i*wk;
else
x0_alpha = [(2*n -3)*pi/2./h, (2*n -1)*pi/2./h]; % Narrow interval
k(n) = fsolve(fun_alpha, mean(x0_alpha));
end
end
end I am solving dispersion equation for water waves. I already solved it but with small h now i am using the same code but having different h and it give me incorrect evenscent modes. How i can fix my this code that it works well. Below is my code
clc;
close all;
clear all;
N = 10; % Terms number used in region I
% — 2. Dimensional geometry & environment ———————
RI = 34.5; % [m] inner / entrance radius (fully open ⇒ RI = RT)
RE = 47.5; % [m] outer hull radius (used for k0*RE axis)
d = 38.0; % [m] draft = free-surface → rim (water-column length)
h = 200; % [m] total water depth (free-surface → seabed)
b = h – d; % [m] clearance rim → seabed (= 162 m, not usually used)
g=9.81;
k0RE = linspace(5, 35, 200); % 200 points, dimension-less
I_given_wavenumber = 1;
% ————— ① pre-allocate
for j = 1:length(k0RE)
if I_given_wavenumber == 1
wk = k0RE(j)/RE; %wavenumber
omega = sqrt(g*wk*tanh(wk*h)); %wave radian frequency
fun_alpha = @(x) omega^2 + g*x*tan(x*h); %dispersion equation for evanescent modes
end
for n = 1:N
if n ==1
k(n) = -1i*wk;
else
x0_alpha = [(2*n -3)*pi/2./h, (2*n -1)*pi/2./h]; % Narrow interval
k(n) = fsolve(fun_alpha, mean(x0_alpha));
end
end
end evenscent modes, dispersion equation, water waves MATLAB Answers — New Questions
unpause from a uifigure
I’m used to using pause to run through a loop with plots and to pause until hitting return. Something like this:
for i = 1:100
plot(1:i)
pause
end
(Edit: to clarify, this is pressing return while focuse on the figure window)
Now however if the code launches a uifigure, it is unclear how to run the same code. Is there a way of programatically unpausing?
fig = uifigure;
ax = axes(fig)
for i = 1:100
plot(ax,1:i)
pause
end
I know I can use uiwait and uiresume but it is unclear why I can’t get code to work that supports pause as well.I’m used to using pause to run through a loop with plots and to pause until hitting return. Something like this:
for i = 1:100
plot(1:i)
pause
end
(Edit: to clarify, this is pressing return while focuse on the figure window)
Now however if the code launches a uifigure, it is unclear how to run the same code. Is there a way of programatically unpausing?
fig = uifigure;
ax = axes(fig)
for i = 1:100
plot(ax,1:i)
pause
end
I know I can use uiwait and uiresume but it is unclear why I can’t get code to work that supports pause as well. I’m used to using pause to run through a loop with plots and to pause until hitting return. Something like this:
for i = 1:100
plot(1:i)
pause
end
(Edit: to clarify, this is pressing return while focuse on the figure window)
Now however if the code launches a uifigure, it is unclear how to run the same code. Is there a way of programatically unpausing?
fig = uifigure;
ax = axes(fig)
for i = 1:100
plot(ax,1:i)
pause
end
I know I can use uiwait and uiresume but it is unclear why I can’t get code to work that supports pause as well. matlab, pause MATLAB Answers — New Questions