Month: June 2025
Strange behaviour of plot
When I do the following plot in R2025a, I do not see the line. (Here the code runs under R2024b)
plot([0,eps,1],[0,eps,1])When I do the following plot in R2025a, I do not see the line. (Here the code runs under R2024b)
plot([0,eps,1],[0,eps,1]) When I do the following plot in R2025a, I do not see the line. (Here the code runs under R2024b)
plot([0,eps,1],[0,eps,1]) plot MATLAB Answers — New Questions
How to change the dashboard x axis
I want the Dashboard x axis based on other signal at current time step. how can i do thisI want the Dashboard x axis based on other signal at current time step. how can i do this I want the Dashboard x axis based on other signal at current time step. how can i do this #simulink, #dashboard MATLAB Answers — New Questions
Symbolic integration: error
Hi to all,
I have been trying to write a piece of code to avoid doing some calculations: the purpose is to calculate the integral of a given function and the integrale of the norm squared of its gradient on a shape that resembles a disk with a point, all of which depend on a parameter r.
For the first test, I did the calculations by hand and everything worked. Then I tried to automate the process of calculating the gradient and its norm squared in two different ways, and in both of them the functions are calcukated but the program fails to calculate the integral.
I’ve attached both the wrking and non-working tests (sorry for the long lines, but the shape and the integral are not easy to express).
Thank you in advance!
%test1 working
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du2(x,y,r)=(y^2-r^2/(1-2*r)*x^2)^2*(4*(x-1+r)^2+4*y^2)+((x-1+r)^2+y^2-r^2)^2*(4*(r/sqrt(1-2*r))^4*x^2+4*y^2)-8*r^2/(1-2*r)*x*(x-1+r)*(y^2-r^2/(1-2*r)*x^2)*((x-1+r)^2+y^2-r^2)+8*y^2*(y^2-r^2/(1-2*r)*x^2)*((x-1+r)^2+y^2-r^2);
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
%test 2 not working (first way)
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du(x,y,r)=gradient(u, [x,y]);
du_body=formula(du);
du2(x,y,r)=du_body(1)^2+du_body(2)^2;
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
%test2 not working (second way)
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du(x,y,r)=gradient(u, [x,y]);
du2(x,y,r)=(norm(du))^2;
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));Hi to all,
I have been trying to write a piece of code to avoid doing some calculations: the purpose is to calculate the integral of a given function and the integrale of the norm squared of its gradient on a shape that resembles a disk with a point, all of which depend on a parameter r.
For the first test, I did the calculations by hand and everything worked. Then I tried to automate the process of calculating the gradient and its norm squared in two different ways, and in both of them the functions are calcukated but the program fails to calculate the integral.
I’ve attached both the wrking and non-working tests (sorry for the long lines, but the shape and the integral are not easy to express).
Thank you in advance!
%test1 working
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du2(x,y,r)=(y^2-r^2/(1-2*r)*x^2)^2*(4*(x-1+r)^2+4*y^2)+((x-1+r)^2+y^2-r^2)^2*(4*(r/sqrt(1-2*r))^4*x^2+4*y^2)-8*r^2/(1-2*r)*x*(x-1+r)*(y^2-r^2/(1-2*r)*x^2)*((x-1+r)^2+y^2-r^2)+8*y^2*(y^2-r^2/(1-2*r)*x^2)*((x-1+r)^2+y^2-r^2);
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
%test 2 not working (first way)
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du(x,y,r)=gradient(u, [x,y]);
du_body=formula(du);
du2(x,y,r)=du_body(1)^2+du_body(2)^2;
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
%test2 not working (second way)
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du(x,y,r)=gradient(u, [x,y]);
du2(x,y,r)=(norm(du))^2;
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r)); Hi to all,
I have been trying to write a piece of code to avoid doing some calculations: the purpose is to calculate the integral of a given function and the integrale of the norm squared of its gradient on a shape that resembles a disk with a point, all of which depend on a parameter r.
For the first test, I did the calculations by hand and everything worked. Then I tried to automate the process of calculating the gradient and its norm squared in two different ways, and in both of them the functions are calcukated but the program fails to calculate the integral.
I’ve attached both the wrking and non-working tests (sorry for the long lines, but the shape and the integral are not easy to express).
Thank you in advance!
%test1 working
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du2(x,y,r)=(y^2-r^2/(1-2*r)*x^2)^2*(4*(x-1+r)^2+4*y^2)+((x-1+r)^2+y^2-r^2)^2*(4*(r/sqrt(1-2*r))^4*x^2+4*y^2)-8*r^2/(1-2*r)*x*(x-1+r)*(y^2-r^2/(1-2*r)*x^2)*((x-1+r)^2+y^2-r^2)+8*y^2*(y^2-r^2/(1-2*r)*x^2)*((x-1+r)^2+y^2-r^2);
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
%test 2 not working (first way)
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du(x,y,r)=gradient(u, [x,y]);
du_body=formula(du);
du2(x,y,r)=du_body(1)^2+du_body(2)^2;
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
%test2 not working (second way)
syms x y r
u(x,y,r)=((x-1+r)^2+y^2-r^2)*(y^2-r^2/(1-2*r)*x^2);
du(x,y,r)=gradient(u, [x,y]);
du2(x,y,r)=(norm(du))^2;
intu= int( int(u,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(u,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r));
intdu2= int( int(du2,y,-sqrt(r^2-(x-1+r)^2),sqrt(r^2-(x-1+r)^2)), x, (1-2*r)/(1-r), 1) + int( int(du2,y,-r/sqrt(1-2*r)*x,r/sqrt(1-2*r)*x), x, 0, (1-2*r)/(1-r)); symbolic, integration, integral MATLAB Answers — New Questions
self paced online course
Sir,
I am doing a self paced course titled" Introduction to Linear Algebra with MATLAB" . Today i am unable to launch the course and it is telling trying to connect to cloud but unable to launch though i waited for so many minutes. Can this problem be resolved please.Sir,
I am doing a self paced course titled" Introduction to Linear Algebra with MATLAB" . Today i am unable to launch the course and it is telling trying to connect to cloud but unable to launch though i waited for so many minutes. Can this problem be resolved please. Sir,
I am doing a self paced course titled" Introduction to Linear Algebra with MATLAB" . Today i am unable to launch the course and it is telling trying to connect to cloud but unable to launch though i waited for so many minutes. Can this problem be resolved please. linear algebra course MATLAB Answers — New Questions
How to Block Ad-Hoc Email-Based Subscriptions
No MSOL Module, So How Can You Block Email-Based Subscriptions
By now, I assume that every Microsoft 365 tenant administrator knows about the deprecation of the MSOL and AzureAD PowerShell modules. The MSOL module is already retired; the Azure AD module will be retired any day now. Some of the cmdlets in the modules have already stopped working because of the withdrawal of a dependent service.
Which brings me to a note I read in a Microsoft article the other day solemnly informing me that I should block users from signing up for “viral” trial subscription of Copilot Studio by running the Set-MsolCompanySettings cmdlet to block ad-hoc or email-based subscriptions as follows:
Set-MsolCompanySettings -AllowAdHocSubscriptions $False
Of course, the cmdlet is now retired and unavailable, but as the page hasn’t been updated since October 2024, it strikes me that perhaps people haven’t noticed.
In any case, it’s terrifically difficult to maintain total accuracy in documentation for an area that is in a state of constant flux. After coping with change in Microsoft 365 for the last ten years to keep the Office 365 for IT Pros eBook updated, I think I’m an authority on this topic.
The more important issue raised by the documentation deficiency is what is the replacement for the Set-MsolCompanySettings cmdlet? There’s no mention of the cmdlet in Microsoft’s change map page, which helps people find equivalent commands in the Microsoft Graph PowerShell SDK.
No Block for Copilot Studio in the Microsoft 365 Admin Center
It all depends on what you want to do. In this case, the advice given in the page is how to block ad-hoc subscriptions of the type that Copilot Studio allows people to sign up for over a 60-day period. Although Microsoft 365 Copilot is on the list, Copilot Studio is not one of the products governed by the self-service settings in the Microsoft 365 admin center (Figure 1), so Copilot Studio can’t be blocked here or by using the MSCommerce PowerShell module. Copilot Studio uses email-based subscriptions to allow anyone to sign up using an Entra ID or other account, so that’s probably why it’s not on the self-service trials list.

Use the Entra Authorization Policy to Block Email-Based Subscriptions
This brings us to the Entra ID authorization policy. Using the Get-MgPolicyAuthorizationPolicy cmdlet (the Microsoft Graph PowerShell SDK cmdlet that maps the Get method for the resource) to examine the policy settings for my tenant, I see:
Get-MgPolicyAuthorizationPolicy | Format-List AllowEmailVerifiedUsersToJoinOrganization : False AllowInvitesFrom : everyone AllowUserConsentForRiskyApps : False AllowedToSignUpEmailBasedSubscriptions : True AllowedToUseSspr : True BlockMsolPowerShell : True DefaultUserRolePermissions : Microsoft.Graph.PowerShell.Models.MicrosoftGraphDefaultUserRolePermissions DeletedDateTime : Description : Used to manage authorization related settings across the company. DisplayName : Authorization Policy GuestUserRoleId : 2af84b1e-32c8-42b7-82bc-daa82404023b
The formal documentation for Set-MsolCompanySettings is no longer available, but some source text in GitHub defines the use of AllowAdHocSubscriptions as “to allow users to sign up for email based subscriptions.” That seem to match the AllowedToSignUpEmailBasedSubscriptions setting, so let’s see what happens if I update the setting to false by running the Update-MgPolicyAuthorizationPolicy cmdlet:
Update-MgPolicyAuthorizationPolicy -AllowedToSignUpEmailBasedSubscriptions:$false
The Policy.Read.All permission is required to read the policy settings, and the Policy.ReadWrite.Authorization permission is required to update policy settings.
After updating the policy settings, I removed the Microsoft 365 Copilot license from a user account. This license contains a service plan for Copilot Studio. Removing the license means that the user is forced to take out an email-based subscription to use Copilot Studio.
After going to the Copilot Studio page, the user can click the Try for free button to start their trial. After proving that they’re a human, the process detects that the user has an Entra ID account and asks them to sign in. After signing in, Entra ID checks the tenant authorization policy and declines to go further to complete the email-based subscription because of the policy block (Figure 2).

To revert, update the setting to true.
Update-MgPolicyAuthorizationPolicy -AllowedToSignUpEmailBasedSubscriptions:$true
The user can now complete the sign-in process and access Copilot Studio (Figure 3).

No One-to-One Mapping for the Old Cmdlet
My original question asked what is the replacement for the Set-MsolCompanySettings cmdlet? The answer is that there isn’t a single 1:1 replacement. The Entra ID authorization policy takes care of authorization settings for the tenant, such as email-based subscriptions and whether the tenant allows self-service password reset (SSPR). Some of the other settings are supported in the Entra admin center UX. As to changing tenant id or setting the default usage location for user accounts, I’ll have to go searching…
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.
5G NR PRACH for NTN Use Case
Hi all,
I’d like to use NTN channel model for PRACH preamble detection using the example: https://de.mathworks.com/help/5g/ug/5g-nr-prach-detection-test.html. However, there are no NTN channels available. I tried to modify nrTDLChannel.m but it did not work. Please could you help me implement the NTN channel module or suggest ways to do it?
Thanks in advance!Hi all,
I’d like to use NTN channel model for PRACH preamble detection using the example: https://de.mathworks.com/help/5g/ug/5g-nr-prach-detection-test.html. However, there are no NTN channels available. I tried to modify nrTDLChannel.m but it did not work. Please could you help me implement the NTN channel module or suggest ways to do it?
Thanks in advance! Hi all,
I’d like to use NTN channel model for PRACH preamble detection using the example: https://de.mathworks.com/help/5g/ug/5g-nr-prach-detection-test.html. However, there are no NTN channels available. I tried to modify nrTDLChannel.m but it did not work. Please could you help me implement the NTN channel module or suggest ways to do it?
Thanks in advance! 5g toolbox, nr prach, ntn channel model, doppler, 5g MATLAB Answers — New Questions
your mathworks account login session has expired
After approving the license terms, I receive the error Your Mathworks Account Login Session Has ExpiredAfter approving the license terms, I receive the error Your Mathworks Account Login Session Has Expired After approving the license terms, I receive the error Your Mathworks Account Login Session Has Expired download, error MATLAB Answers — New Questions
icc rgb profile editing
utility/function to locally edit an icc rgb profile (say adobe)?utility/function to locally edit an icc rgb profile (say adobe)? utility/function to locally edit an icc rgb profile (say adobe)? icc propfiles, editing, rgb profiles MATLAB Answers — New Questions
matlab online doesn’t work
Deleting the browser cookies.
Using different browsers (chrome, firefox, and microsoft edge).
Stopping the AdBlock for matlab.mathwork.
Deleting the "session" folder from MATLAB drive.
I tried 4 mathods, but matlab online still not work..
Are you able to access matlab online now?(UTC 10:00)Deleting the browser cookies.
Using different browsers (chrome, firefox, and microsoft edge).
Stopping the AdBlock for matlab.mathwork.
Deleting the "session" folder from MATLAB drive.
I tried 4 mathods, but matlab online still not work..
Are you able to access matlab online now?(UTC 10:00) Deleting the browser cookies.
Using different browsers (chrome, firefox, and microsoft edge).
Stopping the AdBlock for matlab.mathwork.
Deleting the "session" folder from MATLAB drive.
I tried 4 mathods, but matlab online still not work..
Are you able to access matlab online now?(UTC 10:00) matlab online MATLAB Answers — New Questions
How to remove the pectoral muscle from the mammogram?
<</matlabcentral/answers/uploaded_files/131827/Breast%201.png>>
I used imclearborder() but it doesn’t work. Can anyone give me advice?!
i want to remove the left part behind the red line<</matlabcentral/answers/uploaded_files/131827/Breast%201.png>>
I used imclearborder() but it doesn’t work. Can anyone give me advice?!
i want to remove the left part behind the red line <</matlabcentral/answers/uploaded_files/131827/Breast%201.png>>
I used imclearborder() but it doesn’t work. Can anyone give me advice?!
i want to remove the left part behind the red line mammogram, mammogram—pectoral muscle removal, pectoral MATLAB Answers — New Questions
SharePoint Online Dumps OTP Authentication for Sharing Links
Change Applies on July 1 to Tenants that Integrated SharePoint with Entra ID B2B Collaboration
The announcement in message center notification MC1089315 (6 June 2025) that Microsoft is dumping the old one-time passcode (OTP) authentication mechanism for SharePoint Online and OneDrive for Business sharing is unexpected, but only because it took Microsoft so long to make the change.

After July 1, 2025, external users who have received a sharing link from a user in a tenant that uses OTP authentication will discover that they have lost access to the shared content (files, folders, or sites). Microsoft says that they’re making the change to “enhance security.” I think this is correct, and the change delivers an additional benefit to Microsoft because it gets rid of an old feature.
A History of One-time Passcodes in SharePoint Online
OTP-based sharing links (aka, the “Secure external sharing recipient experience”) predates the support of Entra ID B2B Collaboration (guest accounts) within SharePoint Online. That support arrived as a result of guest access to Office 365 groups (now Microsoft 365 groups) in September 2016. Guest accounts took a while to catch on, and Office 365 groups only became really popular after the advent of Teams in early 2017. Indeed, Teams didn’t surpass 20 million active users in November 2019 before massive growth occurred in Teams usage during the Covid-19 pandemic.
Although Teams growth propelled similar growth in groups and SharePoint usage, there was no great push to move tenants off OTP authentication to SharePoint and OneDrive integration with Azure AD (now Entra ID). External sharing worked, so why bother?
Microsoft began the process to get off OTP by integrating OTP with Entra ID B2B Collaboration in October 2021. Essentially, the change ensured that external users who received OTP sharing links had guest accounts created for them in the tenant directory. The next step made sure that new tenants created after March 31, 2023, could only use B2B collaboration.
The plan now revealed “only impacts organizations that have already enabled or plan to enable SharePoint and OneDrive integration with Microsoft Entra B2B.” In other words, nothing changes for tenants that did not link SharePoint Online and OneDrive for Business to Entra ID B2B Collaboration. I wonder what proportion of the SharePoint community still use one-time passcodes exclusively for sharing.
The Result of the Change
MC1089315 rates this change to be “highly relevant.” In other words, it will affect how users work because:
- After July 1, all new sharing links generated for external people will use Entra ID B2B Collaboration and the sharees will receive email containing the sharing link generated by the Entra ID Invitation Manager service. This shouldn’t cause too much upheaval because the process is reasonably painless. I use it all the time to share documents with several other Microsoft 365 tenants and haven’t had any issues with sharing links that I can remember.
- After July 1, all previously issued sharing links based on one-time passcodes generated by SharePoint Online and OneDrive for Business will stop working. Obviously, this aspect of the change could cause confusion when a link sent to users doesn’t work. July 1 is a Tuesday, and it’s entirely possible that many sharing links with one-time passcodes arrive in user mailboxes on Monday, June 30. If the recipients action the links immediately, they can access the shared content. If they delay, the links stop working. It’s as simple as that.
Microsoft says that users will be told “Sorry, something went wrong. This organization has updated its guest access settings. To access this item, please contact the person who shared it with you and ask them to reshare it with you.” What’s gone wrong is that Microsoft decommissioned one-time passcodes. However, the statement is accurate that the only way to resume access to the shared content is to receive a new sharing link generated based on B2B collaboration. The potential for impact on users and the knock-on effect on help desks is clear.
MC1089315 notes that users will be required to complete multi-factor authentication (MFA) registration as part of the Entra ID B2B onboarding process. That’s strictly only true if the tenant that hosts the content requires MFA, most likely with a conditional access policy to block access unless an MFA challenge is satisfied. Even if your tenant doesn’t use MFA today (which it should), it is the hosting tenant that gets to choose whether MFA is required.
A Good Change
I bet this change will cause confusion and some upheaval in the weeks after July 1. After that, everything should calm down as the old OTP-based sharing links work their way out of the system. It’s good to have consistency and security and having one method to secure sharing links seems like a good change to make. At least, it is in my book.
So much change, all the time. It’s a challenge to stay abreast of all the updates Microsoft makes across the Microsoft 365 ecosystem. Subscribe to the Office 365 for IT Pros eBook to receive monthly insights into what happens, why it happens, and what new features and capabilities mean for your tenant.
Any commands about rotation where the unit of the input is radian
Hi there,
We find in Matlab, the command rotx denotes a rotation matrix around the x-axis by ang degrees, and the unit of the input is degree.
Here I want to ask, are there any commands that the unit of the input is radian?
Many thanks!Hi there,
We find in Matlab, the command rotx denotes a rotation matrix around the x-axis by ang degrees, and the unit of the input is degree.
Here I want to ask, are there any commands that the unit of the input is radian?
Many thanks! Hi there,
We find in Matlab, the command rotx denotes a rotation matrix around the x-axis by ang degrees, and the unit of the input is degree.
Here I want to ask, are there any commands that the unit of the input is radian?
Many thanks! rotx, roty, rotz MATLAB Answers — New Questions
unit delay in z-domain, is this correct? I do not think the bode is correct. Thanks
z = tf(‘z’,1e-4);
%L = T/S; % open loop in s domain
%L_z = c2d(L, 1e-4, ‘zoh’); % sample L
delay = 1/z; % delay transfer function
%L_z_delayed = L_z * delay; % delayed L
%margin(L_z_delayed);
bode(delay)z = tf(‘z’,1e-4);
%L = T/S; % open loop in s domain
%L_z = c2d(L, 1e-4, ‘zoh’); % sample L
delay = 1/z; % delay transfer function
%L_z_delayed = L_z * delay; % delayed L
%margin(L_z_delayed);
bode(delay) z = tf(‘z’,1e-4);
%L = T/S; % open loop in s domain
%L_z = c2d(L, 1e-4, ‘zoh’); % sample L
delay = 1/z; % delay transfer function
%L_z_delayed = L_z * delay; % delayed L
%margin(L_z_delayed);
bode(delay) delay, discrete time MATLAB Answers — New Questions
search text in arraycell
hi, i’ve arraycell and i want catch scalar in "WindowCount" after "[Wsp]" but before "[WspDetachedWindows]"
See pics
Result is =1
i try this :
newStr = extractBetween(data,"[Wsp]","[WspDetachedWindows]")
newStr =
2488×0 empty cell array
But receive empty cell arrayhi, i’ve arraycell and i want catch scalar in "WindowCount" after "[Wsp]" but before "[WspDetachedWindows]"
See pics
Result is =1
i try this :
newStr = extractBetween(data,"[Wsp]","[WspDetachedWindows]")
newStr =
2488×0 empty cell array
But receive empty cell array hi, i’ve arraycell and i want catch scalar in "WindowCount" after "[Wsp]" but before "[WspDetachedWindows]"
See pics
Result is =1
i try this :
newStr = extractBetween(data,"[Wsp]","[WspDetachedWindows]")
newStr =
2488×0 empty cell array
But receive empty cell array search text in arraycell MATLAB Answers — New Questions
Assigning tstart to tic, when tic is a timer start function
Hello, Im using a timer object to set some function going with a delay that occurs at a time whilst a loop containing a pause is executed.
app.MessagesTextArea.Value=”;
ReportMessage(app,’Starting Timer, msg in 5s’);
% Can use an anonymous function (for the "TimerFcn" callback) that take two input arguments (for "obj" and "event")
% and calls the other function with its corresponding input argument (‘msg’)
t = timer(‘TimerFcn’,@(~,~)app.ReportMessage(‘…Timermsg’),…
‘StartDelay’,5);
% Execute the Timer
start(t);
tstart=tic;
for i=1:20
ReportMessage(app,num2str(toc(tstart)));
pause(0.5)
end
where my function ReportMessage is below.
function ReportMessage(app,msg)
currString=get(app.MessagesTextArea,’Value’);
%currString=[{char(msg)};currString]; %add to top of message box
currString=[currString; {char(msg)}]; %add to bottom of message box
app.MessagesTextArea.Value=currString;
drawnow;
scroll(app.MessagesTextArea,’bottom’);
end
This works fine, however, sometimes the function I call has a tic in, so this is why I assign tstart to this tic.
Now I realised I can also setup a timerstart function, so i thought it would be better to put the tic inside this to make the start(t) and tic more coincindent in time.
t.StartFcn = @(~,~)tic
This works, but how would I assing tstart to this tic?
Thanks
JasonHello, Im using a timer object to set some function going with a delay that occurs at a time whilst a loop containing a pause is executed.
app.MessagesTextArea.Value=”;
ReportMessage(app,’Starting Timer, msg in 5s’);
% Can use an anonymous function (for the "TimerFcn" callback) that take two input arguments (for "obj" and "event")
% and calls the other function with its corresponding input argument (‘msg’)
t = timer(‘TimerFcn’,@(~,~)app.ReportMessage(‘…Timermsg’),…
‘StartDelay’,5);
% Execute the Timer
start(t);
tstart=tic;
for i=1:20
ReportMessage(app,num2str(toc(tstart)));
pause(0.5)
end
where my function ReportMessage is below.
function ReportMessage(app,msg)
currString=get(app.MessagesTextArea,’Value’);
%currString=[{char(msg)};currString]; %add to top of message box
currString=[currString; {char(msg)}]; %add to bottom of message box
app.MessagesTextArea.Value=currString;
drawnow;
scroll(app.MessagesTextArea,’bottom’);
end
This works fine, however, sometimes the function I call has a tic in, so this is why I assign tstart to this tic.
Now I realised I can also setup a timerstart function, so i thought it would be better to put the tic inside this to make the start(t) and tic more coincindent in time.
t.StartFcn = @(~,~)tic
This works, but how would I assing tstart to this tic?
Thanks
Jason Hello, Im using a timer object to set some function going with a delay that occurs at a time whilst a loop containing a pause is executed.
app.MessagesTextArea.Value=”;
ReportMessage(app,’Starting Timer, msg in 5s’);
% Can use an anonymous function (for the "TimerFcn" callback) that take two input arguments (for "obj" and "event")
% and calls the other function with its corresponding input argument (‘msg’)
t = timer(‘TimerFcn’,@(~,~)app.ReportMessage(‘…Timermsg’),…
‘StartDelay’,5);
% Execute the Timer
start(t);
tstart=tic;
for i=1:20
ReportMessage(app,num2str(toc(tstart)));
pause(0.5)
end
where my function ReportMessage is below.
function ReportMessage(app,msg)
currString=get(app.MessagesTextArea,’Value’);
%currString=[{char(msg)};currString]; %add to top of message box
currString=[currString; {char(msg)}]; %add to bottom of message box
app.MessagesTextArea.Value=currString;
drawnow;
scroll(app.MessagesTextArea,’bottom’);
end
This works fine, however, sometimes the function I call has a tic in, so this is why I assign tstart to this tic.
Now I realised I can also setup a timerstart function, so i thought it would be better to put the tic inside this to make the start(t) and tic more coincindent in time.
t.StartFcn = @(~,~)tic
This works, but how would I assing tstart to this tic?
Thanks
Jason timer, tic MATLAB Answers — New Questions
How to Block PST Files for the New Outlook for Windows
Use an OWA Mailbox Policy Setting to Block PST Access
A reader asked if it is possible to disable the ability of the new Outlook to open PST files, noting that some internet posts say that it’s not yet possible. One example from April 2025 points to the list of Microsoft 365 roadmap items related to PST files and suggests that support is coming.
Well, support is available through the OutlookDataFile setting in OWA mailbox policies. The default is to allow new Outlook clients to access PST files (a longstanding request for many people), but organizations that don’t want people to ever use PST files can easily block access.
Figure 1 shows the default access where users can add PST files for the client to open. As the note says, the current level of support extends to mail items only.

Good reasons exist to justify being able to open PST files. Access to old email is an obvious reason. eDiscovery investigations often use PST files to export mailbox items found by searches for review by external experts.
The downside of allowing access to PST files is the temptation for people to move items from mailboxes into PSTs. This action makes items invisible for compliance purposes. It also makes email inaccessible to AI tools like Microsoft 365 Copilot. More worringly, PSTs encourage bad behavior, such as people filling PSTs with email that they want to preserve when they leave a company. Using sensitivity labels blocks this habit because although users can keep protected items in a PST, they won’t be able to access the items if they can’t authenticate with an account that has access rights to the items.
Mailbox Policy Settings
An OWA mailbox policy is a collection of settings that govern how OWA works. Exchange Online supports multiple OWA mailbox policies, allowing administrators to create and assign different policies to user mailboxes.
The new Outlook is tightly linked to OWA, so it’s unsurprising to find that OWA mailbox policy applies to the new Outlook too, such as the setting to block downloading of attachments. In this case, OWA doesn’t support PST access at all, so the setting is unique to the new Outlook.
Block PST Access in the OWA Mailbox Policy
To block PST access, run the Set-OWAMailboxPolicy cmdlet to update the OutlookDataFile setting. This command updates the setting to Deny to block all access to PSTs:
Set-OwaMailboxPolicy -Identity OWAFullAccess -OutlookDataFile Deny
The effect is shown in Figure 2. The Outlook Data Files option is now hidden.

Other values for the OutlookDataFile setting are:
- NoExport: Users can’t export from a mailbox to a PST.
- NoExportNoGrow: Users can’t export from a mailbox to a PST or copy items from a mailbox to a .pst file.
- NoExportNoOpen: Users can’t export from a mailbox to a PST, or open new PSTs.
- NoExportNoOpenNoGrow: Users can’t export from a mailbox to a .PST, copy items from a mailbox to a PST, or open new PST files.
These settings are the equivalent of the policy available to control PSTs in Outlook classic.
The effect of the new setting is not immediate. It takes time for Exchange Online to propagate the update to all the mailbox servers used by a tenant, and a further period before clients pick up and apply the setting. The time required might be as short as a few hours and as long as twelve hours. If you’re going to apply a block on PST usage, it’s best to implement the policy before people start to use the new Outlook.
PSTs are Ancient Baggage
Introduced in 1997, PSTs are an archaic part of the history of Exchange. Unfortunately, just like public folders (1996), customers can’t quite get rid of either. I guess we’ll just have to manage the beasts, which is what the mailbox setting described here does for PSTs in the new Outlook, aka Outlook designed for the 2030s dragging along ancient baggage…
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.
Help my password doesn’t work to install updates
Help my password doesn’t work to install updates.Help my password doesn’t work to install updates. Help my password doesn’t work to install updates. installer password, installation, updates from within matlab MATLAB Answers — New Questions
How can I calculate ln(x) in matlab code?
I am trying to find the syntax for ln(x) in matlab but nothing works. Anyone has an idea?I am trying to find the syntax for ln(x) in matlab but nothing works. Anyone has an idea? I am trying to find the syntax for ln(x) in matlab but nothing works. Anyone has an idea? ln MATLAB Answers — New Questions
Modeling pv (plot i-v, p-v characteristics of pv array)
How to plot i-v and p-v characteristics curves in Matlab/Simulink using this code:
%Initial Data
q = 1.6*10^(-19);
k = 1.38*10^(-23); %Boltzmann’s costant
T = 298; %Temperature in Kelvin(25+273)
%% Datasheet table STC value of panel
Isc = 3.45; % Short circuit current
Voc = 21.7; %Open circuit voltage
Imp = 3.15; %Maximum power current
Vmp = 17.4; %Maximum power voltage
N = 36; %number of cells connected in series
Pmax = Vmp*Imp; %Maximum power point
A = 1;
vt = (k*A*T*N)/q;
Rs = (Voc/Imp) – (Vmp/Imp) + ((vt/Imp)*log((vt)/(vt + Vmp)));
I0 = Isc/(exp(Voc/vt) – exp(Rs*Isc/vt));
Ipv = I0*((exp(Voc/vt)) – 1);
%% First step
iter = 10;000;
it = 0;
tol = 0.1;
A1 = A;
VmpC = (vt*(log((Ipv+I0-Imp)/I0))) – (Rs*Imp);
e1 = VmpC – Vmp;
Rs1 = Rs;
while (it < iter && e1 > tol)
if VmpC < Vmp
A1 = A1 – 0.01;
else
A1 = A1 + 0.01;
end
vt1 = (k*A1*T*N)/q;
I01 = Isc/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv1 = I01*((exp(Voc/vt1))- 1);
VmpC = (vt1*(log((Ipv1 + I01 – Imp)/I01))) – (Rs1*Imp);
e1 = (VmpC -Vmp);
it = it + 1;
end
vt1 = (k*A1*T*N)/q;
Rs1 = (Voc/Imp) -(VmpC/Imp) + ((vt1/Imp)*log((vt1)/(vt1 + VmpC)));
%% Second step
tolI = 0.001;
iter = 10000;
itI = 0;
I01 = Isc/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv1 = I01*((exp(Voc/vt1))-1);
Rp = (( – Vmp)*(Vmp + (Rs1*Imp)))/(Pmax – (Vmp*Ipv1) + (Vmp*I01*(exp(((Vmp + (Rs1*Imp))/vt1) – 1))));
%calculate I0 with new Rp value
I02 = (Isc*(1 + Rs1/Rp)- Voc/Rp)/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv2 = I02*((exp(Voc/vt1)) – 1) + Voc/Rp;
ImpC = Pmax/VmpC;
err = abs(Imp – ImpC);
Rpnew = Rp;
while err>tolI && itI<iter
if ImpC<Imp
Rpnew = Rp + 0.1*itI;
elseif ImpC>=Imp
Rpnew = Rp – 0.1*itI;
end
%Calculate I0 with Rpnew
I02 = (Isc*(1 + Rs1/Rpnew) – Voc/Rpnew)/(exp(Voc/vt1)- exp(Rs1*Isc/vt1));
Ipv2 = I02*((exp(Voc/vt1)) – 1) + Voc/Rpnew;
eqn = @(ImpC) Ipv2 – (I02*(exp((Vmp + (Rs1*ImpC))/vt1) – 1))- ImpC-(Vmp + Rs1*ImpC)/Rpnew;
current_c = Imp;
s = fzero(eqn,current_c);
ImpC = s;
itI = itI+1;
err = abs(Imp – ImpC);
end
X = sprintf(‘A = %.2f, I0 = %d, Ipv = %.3f, Rs = %f, Rp = %f’, A1,I02,Ipv2,Rs1,Rpnew);
disp(X);How to plot i-v and p-v characteristics curves in Matlab/Simulink using this code:
%Initial Data
q = 1.6*10^(-19);
k = 1.38*10^(-23); %Boltzmann’s costant
T = 298; %Temperature in Kelvin(25+273)
%% Datasheet table STC value of panel
Isc = 3.45; % Short circuit current
Voc = 21.7; %Open circuit voltage
Imp = 3.15; %Maximum power current
Vmp = 17.4; %Maximum power voltage
N = 36; %number of cells connected in series
Pmax = Vmp*Imp; %Maximum power point
A = 1;
vt = (k*A*T*N)/q;
Rs = (Voc/Imp) – (Vmp/Imp) + ((vt/Imp)*log((vt)/(vt + Vmp)));
I0 = Isc/(exp(Voc/vt) – exp(Rs*Isc/vt));
Ipv = I0*((exp(Voc/vt)) – 1);
%% First step
iter = 10;000;
it = 0;
tol = 0.1;
A1 = A;
VmpC = (vt*(log((Ipv+I0-Imp)/I0))) – (Rs*Imp);
e1 = VmpC – Vmp;
Rs1 = Rs;
while (it < iter && e1 > tol)
if VmpC < Vmp
A1 = A1 – 0.01;
else
A1 = A1 + 0.01;
end
vt1 = (k*A1*T*N)/q;
I01 = Isc/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv1 = I01*((exp(Voc/vt1))- 1);
VmpC = (vt1*(log((Ipv1 + I01 – Imp)/I01))) – (Rs1*Imp);
e1 = (VmpC -Vmp);
it = it + 1;
end
vt1 = (k*A1*T*N)/q;
Rs1 = (Voc/Imp) -(VmpC/Imp) + ((vt1/Imp)*log((vt1)/(vt1 + VmpC)));
%% Second step
tolI = 0.001;
iter = 10000;
itI = 0;
I01 = Isc/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv1 = I01*((exp(Voc/vt1))-1);
Rp = (( – Vmp)*(Vmp + (Rs1*Imp)))/(Pmax – (Vmp*Ipv1) + (Vmp*I01*(exp(((Vmp + (Rs1*Imp))/vt1) – 1))));
%calculate I0 with new Rp value
I02 = (Isc*(1 + Rs1/Rp)- Voc/Rp)/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv2 = I02*((exp(Voc/vt1)) – 1) + Voc/Rp;
ImpC = Pmax/VmpC;
err = abs(Imp – ImpC);
Rpnew = Rp;
while err>tolI && itI<iter
if ImpC<Imp
Rpnew = Rp + 0.1*itI;
elseif ImpC>=Imp
Rpnew = Rp – 0.1*itI;
end
%Calculate I0 with Rpnew
I02 = (Isc*(1 + Rs1/Rpnew) – Voc/Rpnew)/(exp(Voc/vt1)- exp(Rs1*Isc/vt1));
Ipv2 = I02*((exp(Voc/vt1)) – 1) + Voc/Rpnew;
eqn = @(ImpC) Ipv2 – (I02*(exp((Vmp + (Rs1*ImpC))/vt1) – 1))- ImpC-(Vmp + Rs1*ImpC)/Rpnew;
current_c = Imp;
s = fzero(eqn,current_c);
ImpC = s;
itI = itI+1;
err = abs(Imp – ImpC);
end
X = sprintf(‘A = %.2f, I0 = %d, Ipv = %.3f, Rs = %f, Rp = %f’, A1,I02,Ipv2,Rs1,Rpnew);
disp(X); How to plot i-v and p-v characteristics curves in Matlab/Simulink using this code:
%Initial Data
q = 1.6*10^(-19);
k = 1.38*10^(-23); %Boltzmann’s costant
T = 298; %Temperature in Kelvin(25+273)
%% Datasheet table STC value of panel
Isc = 3.45; % Short circuit current
Voc = 21.7; %Open circuit voltage
Imp = 3.15; %Maximum power current
Vmp = 17.4; %Maximum power voltage
N = 36; %number of cells connected in series
Pmax = Vmp*Imp; %Maximum power point
A = 1;
vt = (k*A*T*N)/q;
Rs = (Voc/Imp) – (Vmp/Imp) + ((vt/Imp)*log((vt)/(vt + Vmp)));
I0 = Isc/(exp(Voc/vt) – exp(Rs*Isc/vt));
Ipv = I0*((exp(Voc/vt)) – 1);
%% First step
iter = 10;000;
it = 0;
tol = 0.1;
A1 = A;
VmpC = (vt*(log((Ipv+I0-Imp)/I0))) – (Rs*Imp);
e1 = VmpC – Vmp;
Rs1 = Rs;
while (it < iter && e1 > tol)
if VmpC < Vmp
A1 = A1 – 0.01;
else
A1 = A1 + 0.01;
end
vt1 = (k*A1*T*N)/q;
I01 = Isc/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv1 = I01*((exp(Voc/vt1))- 1);
VmpC = (vt1*(log((Ipv1 + I01 – Imp)/I01))) – (Rs1*Imp);
e1 = (VmpC -Vmp);
it = it + 1;
end
vt1 = (k*A1*T*N)/q;
Rs1 = (Voc/Imp) -(VmpC/Imp) + ((vt1/Imp)*log((vt1)/(vt1 + VmpC)));
%% Second step
tolI = 0.001;
iter = 10000;
itI = 0;
I01 = Isc/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv1 = I01*((exp(Voc/vt1))-1);
Rp = (( – Vmp)*(Vmp + (Rs1*Imp)))/(Pmax – (Vmp*Ipv1) + (Vmp*I01*(exp(((Vmp + (Rs1*Imp))/vt1) – 1))));
%calculate I0 with new Rp value
I02 = (Isc*(1 + Rs1/Rp)- Voc/Rp)/(exp(Voc/vt1) – exp(Rs1*Isc/vt1));
Ipv2 = I02*((exp(Voc/vt1)) – 1) + Voc/Rp;
ImpC = Pmax/VmpC;
err = abs(Imp – ImpC);
Rpnew = Rp;
while err>tolI && itI<iter
if ImpC<Imp
Rpnew = Rp + 0.1*itI;
elseif ImpC>=Imp
Rpnew = Rp – 0.1*itI;
end
%Calculate I0 with Rpnew
I02 = (Isc*(1 + Rs1/Rpnew) – Voc/Rpnew)/(exp(Voc/vt1)- exp(Rs1*Isc/vt1));
Ipv2 = I02*((exp(Voc/vt1)) – 1) + Voc/Rpnew;
eqn = @(ImpC) Ipv2 – (I02*(exp((Vmp + (Rs1*ImpC))/vt1) – 1))- ImpC-(Vmp + Rs1*ImpC)/Rpnew;
current_c = Imp;
s = fzero(eqn,current_c);
ImpC = s;
itI = itI+1;
err = abs(Imp – ImpC);
end
X = sprintf(‘A = %.2f, I0 = %d, Ipv = %.3f, Rs = %f, Rp = %f’, A1,I02,Ipv2,Rs1,Rpnew);
disp(X); pv, array, arrays, equation, plot, plotting, matlab, simulink, simulation, fsolve, solve MATLAB Answers — New Questions
Getting zero Output as Total Force and Torque in simscape multibody simulation
The scenario is to move in a constant radius Circle
My model is behaving as expected it is moving in a constant radius circle it has the right accelrations velocites from the transform sensor
But for some reason it is always giving me Output as zero for all 3 torques and force componets
I tried adding an inertia block to the world frame thinking it might be because Force excerted on zero mass body might be zero but it didnt fix the issueThe scenario is to move in a constant radius Circle
My model is behaving as expected it is moving in a constant radius circle it has the right accelrations velocites from the transform sensor
But for some reason it is always giving me Output as zero for all 3 torques and force componets
I tried adding an inertia block to the world frame thinking it might be because Force excerted on zero mass body might be zero but it didnt fix the issue The scenario is to move in a constant radius Circle
My model is behaving as expected it is moving in a constant radius circle it has the right accelrations velocites from the transform sensor
But for some reason it is always giving me Output as zero for all 3 torques and force componets
I tried adding an inertia block to the world frame thinking it might be because Force excerted on zero mass body might be zero but it didnt fix the issue simscape MATLAB Answers — New Questions