Category: News
Copilot not connecting to SQL Server in Actions
Hello All,
I am trying to make a copilot that triggers an action that will look into a SQL Server table and return a number. The user communicating with the copilot enters a part number and the copilot is supposed to respond with the quantity on hand for the part number.
Where my issue is – I can use the “Get Rows” action or “Get Tables” action for SQL server just fine. But when I try to use a power automate flow with the same SQL server connection and credentials, it is unable to create the connection. Is any aware of why this might be the case?
The connection credentials are the same between the two sources
Hello All, I am trying to make a copilot that triggers an action that will look into a SQL Server table and return a number. The user communicating with the copilot enters a part number and the copilot is supposed to respond with the quantity on hand for the part number. Where my issue is – I can use the “Get Rows” action or “Get Tables” action for SQL server just fine. But when I try to use a power automate flow with the same SQL server connection and credentials, it is unable to create the connection. Is any aware of why this might be the case? The connection credentials are the same between the two sources Read More
SSMA Error
When I try to run SSMA for Access to migrate any database, I get the following error:
“Received an invalid column length from the bcp client…”
I have tried creating a new Access database with a single, simple table, and I still get the same error. Any help would be greatly appreciated.
Thanks!
When I try to run SSMA for Access to migrate any database, I get the following error: “Received an invalid column length from the bcp client…” I have tried creating a new Access database with a single, simple table, and I still get the same error. Any help would be greatly appreciated. Thanks! Read More
Co-Organizer cannot edit Town Hall Attendees or Presenters
Team,
I was added as a co-organizer for a Teams Town Hall. The organizer will be on vacation the day of the TH, so I was added to be able to add presenters if needed. When I open the meeting from my Teams calendar and attempt to Manage Event, it tells me that as a co-organizer I cannot edit anything on the Details page.
According to MC688109, this ability was supposed to be added recently. Has this been delayed?
How can I get the ability to edit attendees/presenters without cancelling the existing meeting and creating a new one?
Team,I was added as a co-organizer for a Teams Town Hall. The organizer will be on vacation the day of the TH, so I was added to be able to add presenters if needed. When I open the meeting from my Teams calendar and attempt to Manage Event, it tells me that as a co-organizer I cannot edit anything on the Details page.According to MC688109, this ability was supposed to be added recently. Has this been delayed? How can I get the ability to edit attendees/presenters without cancelling the existing meeting and creating a new one? Read More
ON DEMAND | OneDrive in-depth: Learning content
OneDrive is the home of your files, and files are how we get our work done. It goes beyond storing and protecting files. It also powers sharing, collaboration and file security, and it’s used by people and organizations big and small around the world.
This article contains four in-depth videos about OneDrive – now on demand and embedded below. You’ll discover what we have planned for Copilot in OneDrive, how we’re evolving collaboration for your files across Microsoft 365, and upleveling your approach to content management – including migrating content from a variety of competing cloud services into Microsoft 365. Plus, we embedded four recent, related podcast episodes about OneDrive from Sync Up and The Intrazone.
OK, on to the show(s) (all on demand)!!! All content is as it was presented during the Microsoft 365 Community Conference, presented by top product makers from Microsoft.
Note: Beyond the OneDrive content below, you can view all recorded sessions on demand now within the full Microsoft 365 Community Conference playlist on the Microsoft Community Learning channel (YouTube). You’ll find keynotes, general sessions, and numerous breakout sessions — in their entirety.
AI, Copilot, and OneDrive – all in one
“OneDrive: AI at your fingertips” presented by Arjun Tomar and Ben Truelove. Take time to learn about and new and important capabilities coming to OneDrive — giving you the best file experiences across Microsoft 365: Enhancing collaboration, powered by AI and Copilot, fast, reliable sync, and more. You’ll get the latest news, roadmap, plus a few tips and tricks along the way. Watch below:
The best, recent OneDrive collaboration overview
“OneDrive: Collaboration across Microsoft 365” presented by Stephen Rice and Michael Pierce. Get the latest and greatest about how OneDrive supports seamless file experiences across Microsoft 365 Teams, Outlook, M365.com, and Windows File Explorer — powering collaboration, sync, and AI. The training puts a focus on the work Microsoft is doing to bring coherence to your files experience, highlight continued improvements, and identifies the design intent of “simple by default, powerful on demand.” Watch below:
Great, recent overviews of SharePoint (and OneDrive) for enriched content management and migration
“Content Management and Collaboration for the AI Era” presented by Zach Rosenfield, Melissa Torres, Lincoln DeMaris, Ashu Rawat, and Sesha Mani. Learning how to create content in the era of AI – new opportunities to unleash your creativity and simplify large-scale content management. You’ll see and hear ways to enrich your content, get insights from your store of knowledge, and transform document-driven solutions with experiences across Microsoft 365. Watch below:
“Plan and Deliver a Friction Free Migration to Microsoft 365” presented by Visha Chadha, Tony Mathew, and Yogesh Ratnaparkhi. Are you considering migrating to Microsoft 365 (placing files in the right places across OneDrive, SharePoint, and Teams)? Learn about the latest enhancements in Microsoft 365 migrations and how you can seamlessly migrate your organization to Microsoft from other current cloud service including Google Workspace, Box, Dropbox, and on-premises networks – into your preferred Microsoft 365 destinations. Watch now:
+ four related OneDrive podcast episodes from our shows, Sync Up and The Intrazone
Sync Up – The OneDrive podcast.
“Creating a New Future with OneDrive” with guests Liz Scoble and Libby McCormick:
“I’m Syncing About OneDrive!” with guests Gaia Carini and Andrey Esipov:
The Intrazone – A show about the Microsoft 365 intelligent intranet.
“Add to OneDrive” with guests Gaia Carini and Katy Erlandson:
“On the minds of OneDrive admins” with guest, Drew Madelung:
Unify your files experience in Microsoft 365
Our goal is to simplify the way you create and access the files you need, get the information you are looking for, and manage your tasks efficiently. OneDrive offers a singular destination for all your files, Loops, dashboards, and design boards, regardless of their location. As we evolve the home for your files, we’ll integrate Copilot to automate, summarize, and organize your content, adding new capabilities and trusted AI assistance right where it’s needed.
BONUS | Two relevant “learn more” links – one recent, one ongoing:
“Unveiling the Newest OneDrive Capabilities” – Our most recent announcement blog
OneDrive Help and learning (support.microsoft.com)
And last, get the broadest view of Microsoft 365, watch Jeff Teper’s opening keynote: “The Age of Copilots” presented by Jeff Teper, Miceile Barrett, Derek Snyder, and Naomi Moneypenny:
Stay up to date on Microsoft OneDrive adoption on adoption.microsoft.com. Join our community to catch all news and insights from the OneDrive community blog. And follow us on Twitter: @OneDrive.
Thank you for your interest in taking your knowledge and depth of OneDrive to the next level. It warms our file-sync-and-share hearts!
Cheers, @irfanshahdad (Principal product manager – OneDrive, Microsoft)
Microsoft Tech Community – Latest Blogs –Read More
i am trying to find coefficients a0 , an and bn but the output for bn seems wrong and will not simplify
i am trying to find coefficients a0 , an and bn but the output for bn seems wrong and will not simplify
i have tried using pretty, symplify, ignoreanalyticconstraint,true and simplifyFraction, but none have worked
f(x) = -3, -pi < x < 0
f(x) = 3, 0 < x < pi
syms t n
T = 2*pi
w0 = 2*pi/T
n=1:5
a0 = (1/T)*int(3,t,-pi,0) + (1/T)*int(-3,t,0,pi)
an = (2/T)*int(-3*cos(n*w0*t),t,-pi,0) + (2/T)*int(3*cos(n*w0*t),t,0,pi)
bn = (2/T)*int(-3*sin(n*w0*t),t,-pi,0) + (2/T)*int(3*sin(n*w0*t),t,0,pi);
pretty(bn)i am trying to find coefficients a0 , an and bn but the output for bn seems wrong and will not simplify
i have tried using pretty, symplify, ignoreanalyticconstraint,true and simplifyFraction, but none have worked
f(x) = -3, -pi < x < 0
f(x) = 3, 0 < x < pi
syms t n
T = 2*pi
w0 = 2*pi/T
n=1:5
a0 = (1/T)*int(3,t,-pi,0) + (1/T)*int(-3,t,0,pi)
an = (2/T)*int(-3*cos(n*w0*t),t,-pi,0) + (2/T)*int(3*cos(n*w0*t),t,0,pi)
bn = (2/T)*int(-3*sin(n*w0*t),t,-pi,0) + (2/T)*int(3*sin(n*w0*t),t,0,pi);
pretty(bn) i am trying to find coefficients a0 , an and bn but the output for bn seems wrong and will not simplify
i have tried using pretty, symplify, ignoreanalyticconstraint,true and simplifyFraction, but none have worked
f(x) = -3, -pi < x < 0
f(x) = 3, 0 < x < pi
syms t n
T = 2*pi
w0 = 2*pi/T
n=1:5
a0 = (1/T)*int(3,t,-pi,0) + (1/T)*int(-3,t,0,pi)
an = (2/T)*int(-3*cos(n*w0*t),t,-pi,0) + (2/T)*int(3*cos(n*w0*t),t,0,pi)
bn = (2/T)*int(-3*sin(n*w0*t),t,-pi,0) + (2/T)*int(3*sin(n*w0*t),t,0,pi);
pretty(bn) fourier, coeffeicients, series, a0, bn, an MATLAB Answers — New Questions
How to include field value in ThingHTTP URL GET Request
I am trying to include a field value in a ThingHTTP GET request but have not been successful.
For example, I have have successfully used
https://myurl.com/site?value=12.34
to send a specifice value to an external site, but was unsuccessful when I tried to send a ThingSpeak channel field value in a similar way. I used the %% method, which works for ThingTweet, but that didn’t seem to work here. e.g.
https://myurl.com/site?value=%%channel_1234567_field_1%%
Am I doing something wrong, or is there an alternative method for doing this?I am trying to include a field value in a ThingHTTP GET request but have not been successful.
For example, I have have successfully used
https://myurl.com/site?value=12.34
to send a specifice value to an external site, but was unsuccessful when I tried to send a ThingSpeak channel field value in a similar way. I used the %% method, which works for ThingTweet, but that didn’t seem to work here. e.g.
https://myurl.com/site?value=%%channel_1234567_field_1%%
Am I doing something wrong, or is there an alternative method for doing this? I am trying to include a field value in a ThingHTTP GET request but have not been successful.
For example, I have have successfully used
https://myurl.com/site?value=12.34
to send a specifice value to an external site, but was unsuccessful when I tried to send a ThingSpeak channel field value in a similar way. I used the %% method, which works for ThingTweet, but that didn’t seem to work here. e.g.
https://myurl.com/site?value=%%channel_1234567_field_1%%
Am I doing something wrong, or is there an alternative method for doing this? thinghttp MATLAB Answers — New Questions
Users on iOS can’t write to group chat with a bot
Hi all, I’m seeing some strange behaviour with the Teams iOS app when trying to interact with bots in 1-1 group chats . I’ve tried with multiple iPhones, all updated to the latest Teams version. The same issue does not appear on Android and Web/Desktop flavours of Teams. Has anyone seen this issue before? I couldn’t find anything in the knowledge base
Setup:
User cannot send messages in the group chat:
(also notice the bot, which is correctly named “Symlabs9 – Symphony” in the messages on web/desktop, is shown as “Unknown User” on iOS)
it seems Teams iOS is not counting the bot as a user? which would explain why the bot doesn’t appear in the member list, and why the error about needing more than one person in the room is shown?
Hi all, I’m seeing some strange behaviour with the Teams iOS app when trying to interact with bots in 1-1 group chats . I’ve tried with multiple iPhones, all updated to the latest Teams version. The same issue does not appear on Android and Web/Desktop flavours of Teams. Has anyone seen this issue before? I couldn’t find anything in the knowledge baseSetup:A group chat with two participants: one bot, one userBehaviour on web/desktop:User sees both participants of the group chat, user can send messages in the group chat Behaviour on Android:User can send messages in the group chat Behaviour on iOS (last tested with 6.13.1):User does not see the bot in the participants of the group chat: User cannot send messages in the group chat: (also notice the bot, which is correctly named “Symlabs9 – Symphony” in the messages on web/desktop, is shown as “Unknown User” on iOS)it seems Teams iOS is not counting the bot as a user? which would explain why the bot doesn’t appear in the member list, and why the error about needing more than one person in the room is shown? Read More
Quick~B00ks Display Problem After Windows Update
Hi everyone,
I recently updated my Windows 10, and now I’m experiencing display issues with Quick~B00ks Desktop. The fonts appear blurry and the interface doesn’t seem to fit properly on my screen. I’ve tried adjusting my screen resolution and DPI settings, but nothing seems to work. Has anyone else encountered this issue? Any suggestions on how to fix it would be greatly appreciated!
Hi everyone,I recently updated my Windows 10, and now I’m experiencing display issues with Quick~B00ks Desktop. The fonts appear blurry and the interface doesn’t seem to fit properly on my screen. I’ve tried adjusting my screen resolution and DPI settings, but nothing seems to work. Has anyone else encountered this issue? Any suggestions on how to fix it would be greatly appreciated! Read More
Viewing Email Aliases in New Outlook
Hey everyone, I work for my company’s IT department and we got a request from a user that wanted to know how to view aliases for an email recipient’s outbox. All of our emails display as:
firstname . lastname @ campus . edu.
In the Old Outlook this user was able to right click on the recipient’s name and go to Outlook Properties and in the first box there was an alias section that showed their username, which is what we all use to sign into our accounts. Is this not possible on the New Outlook or merely under development? Thanks!
Hey everyone, I work for my company’s IT department and we got a request from a user that wanted to know how to view aliases for an email recipient’s outbox. All of our emails display as:firstname . lastname @ campus . edu.In the Old Outlook this user was able to right click on the recipient’s name and go to Outlook Properties and in the first box there was an alias section that showed their username, which is what we all use to sign into our accounts. Is this not possible on the New Outlook or merely under development? Thanks! Read More
Populating Calendar from an array
I would like to create a monthly calendar view showing milestones for projects based on an array of dates. Can someone suggest the code needed for some pre-fab calendar that will make this simple? Sample data for the calendar would be similar to what is below.
Task 1Task 2Task 3Project A8/1/248/15/248/30/24Project B8/2/248/15/248/29/24Project C8/3/248/16/248/30/24
Output on the calendar would be the Project Name next to the Task name.
I would like to create a monthly calendar view showing milestones for projects based on an array of dates. Can someone suggest the code needed for some pre-fab calendar that will make this simple? Sample data for the calendar would be similar to what is below. Task 1Task 2Task 3Project A8/1/248/15/248/30/24Project B8/2/248/15/248/29/24Project C8/3/248/16/248/30/24 Output on the calendar would be the Project Name next to the Task name. Read More
MS Bookings ignoring existing appointments / calendar availability
I’ve been trying to resolve this issue for one of our Student Support departments all day and can’t seem to find a solution.
At first, their booking calendar was ignoring the existing calendar appointments of all staff members except one. So, we took the following trouble-shooting steps:
Unchecked the ‘Always show time slots in business time zone’ box on in the ‘Bookings Page’ options, as I understand it’s buggy.Had each member of staff select ‘Can view when I’m busy’ from their sharing permissions for ‘People in my organisation’.Ensured all staff members have the same settings in MS Bookings, including the ‘Events of Office calendar affect availability.’
Following this, when inspecting the staff overview in MS Bookings, I was able to see all appointments as ‘busy’ in the MS Bookings Calendar area, however two staff remain bookable from the booking page when they have existing calendar entries in place. There is no discernable reason for this.
Is there something we’re missing? We have to open appointments for learners for the next Academic session, but two members of staff would have their annual leave and lunch breaks and any other appointments within the college ignored.
I’ve been trying to resolve this issue for one of our Student Support departments all day and can’t seem to find a solution. At first, their booking calendar was ignoring the existing calendar appointments of all staff members except one. So, we took the following trouble-shooting steps:Unchecked the ‘Always show time slots in business time zone’ box on in the ‘Bookings Page’ options, as I understand it’s buggy.Had each member of staff select ‘Can view when I’m busy’ from their sharing permissions for ‘People in my organisation’.Ensured all staff members have the same settings in MS Bookings, including the ‘Events of Office calendar affect availability.’Following this, when inspecting the staff overview in MS Bookings, I was able to see all appointments as ‘busy’ in the MS Bookings Calendar area, however two staff remain bookable from the booking page when they have existing calendar entries in place. There is no discernable reason for this. Is there something we’re missing? We have to open appointments for learners for the next Academic session, but two members of staff would have their annual leave and lunch breaks and any other appointments within the college ignored. Read More
Invoke-command Access denied on Windows 11 but works with Windows 10
I’m trying to connect to a remote computer using Invoke-Command while running an elevated Powershell ise. I recently upgraded to Windows 11 and my scripts no longer work and are giving me an Access is denied error. Here is a test script I’ve been using to try and resolve the issue.
$Creds = Import-CliXml -Path “C:InstallPowerCredsCred.xml”
Invoke-Command -ComputerName $Computer -Credential $Creds -ScriptBlock {
Test-Path “\networkFileLocation”
This is working just fine on my secondary computer with Windows 10. I cloned my Windows 10 computer to a new computer to test Windows 11 in our environment. I’ve checked all the execution policies and they are set the same as my Windows 10 computer. Trust for Delegation Kerbos Only is turned on for all computers, this was required for Windows 10 to get over the Double-Hop. Does anyone know if there is a setting that is new with Windows 11 that needs to be changed
I’m trying to connect to a remote computer using Invoke-Command while running an elevated Powershell ise. I recently upgraded to Windows 11 and my scripts no longer work and are giving me an Access is denied error. Here is a test script I’ve been using to try and resolve the issue.$Creds = Import-CliXml -Path “C:InstallPowerCredsCred.xml”Invoke-Command -ComputerName $Computer -Credential $Creds -ScriptBlock {Test-Path “\networkFileLocation”This is working just fine on my secondary computer with Windows 10. I cloned my Windows 10 computer to a new computer to test Windows 11 in our environment. I’ve checked all the execution policies and they are set the same as my Windows 10 computer. Trust for Delegation Kerbos Only is turned on for all computers, this was required for Windows 10 to get over the Double-Hop. Does anyone know if there is a setting that is new with Windows 11 that needs to be changed Read More
Determine training compliance with IF/IFS function(s)
Hi, I wonder if someone can help with the following:
I’m trying to determine mandatory training compliance for the first quarter of 24/25 and an excerpt of my massive spreadsheet looks like the below:
Training LevelLatest eLearningLatest Level 1Refresh by:Latest Level 2Refresh by:Latest Level 3Refresh by:Compliance112/09/2023 231/05/202319/01/202119/01/2024 308/12/2020 19/01/202119/01/2024 409/01/2024 21/02/202221/02/2025
We have got four different levels of training, and each employee is allocated to a level according to their role. The spreadsheet references their level of training, the latest date that they attended their relevant session and when they are due to refresh their training (except eLearning which is not refreshed).
I need to work out a formula for the ‘compliance’ column to show whether the employee is currently compliant or not. So what I am trying to test is: if the employee is level x and they are due to refresh their training on date y are they compliant on 01/07/2024? For the staff who are designated eLearning only, the formula only needs to take into consideration whether there is a date in the relevant column earlier than 01/07/2024.
I have tried variations of the IF/IFS formula including AND and OR functions and various IF formulas nested into each other, but I can’t seem to be able to write a formula that will differentiate between ‘compliant’ and ‘not compliant’ answers. I keep getting one or the other!
Any suggestions will be very much appreciated, thank you!
Anastasia
Hi, I wonder if someone can help with the following: I’m trying to determine mandatory training compliance for the first quarter of 24/25 and an excerpt of my massive spreadsheet looks like the below:Training LevelLatest eLearningLatest Level 1Refresh by:Latest Level 2Refresh by:Latest Level 3Refresh by:Compliance112/09/2023 231/05/202319/01/202119/01/2024 308/12/2020 19/01/202119/01/2024 409/01/2024 21/02/202221/02/2025 We have got four different levels of training, and each employee is allocated to a level according to their role. The spreadsheet references their level of training, the latest date that they attended their relevant session and when they are due to refresh their training (except eLearning which is not refreshed).I need to work out a formula for the ‘compliance’ column to show whether the employee is currently compliant or not. So what I am trying to test is: if the employee is level x and they are due to refresh their training on date y are they compliant on 01/07/2024? For the staff who are designated eLearning only, the formula only needs to take into consideration whether there is a date in the relevant column earlier than 01/07/2024. I have tried variations of the IF/IFS formula including AND and OR functions and various IF formulas nested into each other, but I can’t seem to be able to write a formula that will differentiate between ‘compliant’ and ‘not compliant’ answers. I keep getting one or the other! Any suggestions will be very much appreciated, thank you! Anastasia Read More
HTTP request to get list items while including image thumbnail links
Hi all,
In Power Automate, if you use the “Get files (properties only)” SharePoint action, the JSON response will include multiple thumbnail URLs (small, medium, large) for each file in the following format:
https://eastus1-mediap.svc.ms/transform/thumbnail?provider=spo&inputFormat=jpg&cs=N2FiNzg2MmMtNDIzFNQ&docid=https%3a%2f%2fmytenant.sharepoint.com%3a443%2f_api%2fv2.0%2fdrives%2fb!XwWFqzfnlvrVjzA9Fk%2fitems%2f01UCDPGRBBQ%3fversion%3dPublished&access_token={long-token-edited-out}&width=800&height=800
If possible, I’d like to be able to select one of those URLs while doing an API call like this:
/_api/Web/Lists/GetByTitle(‘big_document_library’)/Items?$select=ID,FileLeafRef,{something-to-get-thumbnail?}&$top=5000
Does anyone know if this is possible or what would be the best way to get both items and their corresponding thumbnails in bulk? If possible, I’d like to avoid making separate API requests just to get the thumbnails. Thanks!
Hi all, In Power Automate, if you use the “Get files (properties only)” SharePoint action, the JSON response will include multiple thumbnail URLs (small, medium, large) for each file in the following format: https://eastus1-mediap.svc.ms/transform/thumbnail?provider=spo&inputFormat=jpg&cs=N2FiNzg2MmMtNDIzFNQ&docid=https%3a%2f%2fmytenant.sharepoint.com%3a443%2f_api%2fv2.0%2fdrives%2fb!XwWFqzfnlvrVjzA9Fk%2fitems%2f01UCDPGRBBQ%3fversion%3dPublished&access_token={long-token-edited-out}&width=800&height=800 If possible, I’d like to be able to select one of those URLs while doing an API call like this: /_api/Web/Lists/GetByTitle(‘big_document_library’)/Items?$select=ID,FileLeafRef,{something-to-get-thumbnail?}&$top=5000 Does anyone know if this is possible or what would be the best way to get both items and their corresponding thumbnails in bulk? If possible, I’d like to avoid making separate API requests just to get the thumbnails. Thanks! Read More
Quick-Books Open But Not Showing – How Do I Retrieve It?
Hi everyone, I’m encountering an issue with Quick-Books where it seems to be running in the background but isn’t displaying on my screen. When I check Task Manager, it shows that Quick-Books is indeed running. I’ve tried clicking on the icon in the taskbar, but nothing happens. Restarting my computer didn’t resolve the issue either. Does anyone know how I can retrieve the Quick-Books window or force it to appear on my screen? Thanks in advance for your help!
Hi everyone, I’m encountering an issue with Quick-Books where it seems to be running in the background but isn’t displaying on my screen. When I check Task Manager, it shows that Quick-Books is indeed running. I’ve tried clicking on the icon in the taskbar, but nothing happens. Restarting my computer didn’t resolve the issue either. Does anyone know how I can retrieve the Quick-Books window or force it to appear on my screen? Thanks in advance for your help! Read More
Inserting an image (QR Code in form of URL or image within cell) from table into Mail Merge
I’ve seen topics similar to this but I can’t find an exact answer or an answer that has worked for me so far. Basically, I have a table that includes a distinct QR code in a column that I want to add into a mail merge. The QR code can be accessed as a URL or it’s a picture in a cell itself (I have both columns because I don’t know which one is more easily mail merged). I can’t figure out how to set up the mail merge field to pull up the image, I either end up with just the URL text or !VALUE. Thanks!
I’ve seen topics similar to this but I can’t find an exact answer or an answer that has worked for me so far. Basically, I have a table that includes a distinct QR code in a column that I want to add into a mail merge. The QR code can be accessed as a URL or it’s a picture in a cell itself (I have both columns because I don’t know which one is more easily mail merged). I can’t figure out how to set up the mail merge field to pull up the image, I either end up with just the URL text or !VALUE. Thanks! Read More
Announcing Public Preview of Inbound SMTP DANE with DNSSEC for Exchange Online
We are thrilled to announce the Public Preview of Inbound SMTP DANE with DNSSEC, a new capability of Exchange Online that enhances the security of email communications by supporting two security standards: DNS-based Authentication of Named Entities (DANE) for SMTP and Domain Name System Security Extensions (DNSSEC).
The Public Preview for Inbound SMTP DANE with DNSSEC is currently rolling out. Instructions for implementing it in your tenant are at How SMTP DNS-based Authentication of Named Entities (DANE) secures email communications. PowerShell cmdlets for implementing SMTP DANE are also available in your tenant.
SMTP DANE and DNSSEC
SMTP DANE uses a TLS Authentication (TLSA) DNS record to verify the identity of a destination mail server and provides a secure connection between sending and receiving mail servers that is resistant to both TLS-downgrade attacks and adversary-in-the-middle attacks (a form of eavesdropping where the communication is monitored or modified by a bad actor).
DNSSEC uses cryptographic signatures to ensure that the destination domain’s DNS records are authentic and were not tampered with in transit.
These two standards work together to prevent spoofing, hijacking, and interception of email messages.
Inbound SMTP DANE with DNSSEC benefits
By using SMTP DANE with DNSSEC, you can:
Better protect your email domain(s) from impersonation;
Help ensure your messages are delivered to the intended recipients using encryption and without being altered or redirected; and
Enhance your email reputation by demonstrating compliance with the latest security standards.
Improving Email Security
We released Outbound SMTP DANE with DNSSEC in 2022, and we’re excited to begin the Public Preview for Inbound SMTP DANE with DNSSEC. We are including Inbound SMTP DANE with DNSSEC in our enterprise and consumer email offerings at no charge as part of our efforts to improve email security for everyone. We urge other email providers and domain owners to adopt these standards and collectively raise the bar for email security and protect users from malicious actors.
We have already implemented inbound SMTP DANE with DNSSEC for several Outlook email domains, and we will complete the implementation for remaining Outlook domains (including Hotmail) by the end of 2024.
We are eager to see the impact of this feature on the email security landscape and we look forward to continuing to innovate and deliver an email offering with industry-leading security like SMTP DANE with DNSSEC.
Opt-in to the Public Preview Today
You can opt into the Public Preview today and start using inbound SMTP DANE with DNSSEC by following the enablement steps in this documentation. We welcome your feedback and suggestions for improving this feature, as well.
Email Security Roadmap
Our target dates for upcoming roadmap items are:
August 2024 – Inbound SMTP DANE with DNSSEC and MTA-STS report in the Exchange admin center
October 2024 – General Availability of Inbound SMTP DANE with DNSSEC
End of 2024
Deploying Inbound SMTP DANE with DNSSEC for all Outlook domains
Transition provisioning of mail records for all newly created Accepted Domains into DNSSEC-enabled infrastructure underneath *.mx.microsoft
February 2025 – Mandatory Outbound SMTP DANE, set per-tenant/per-remote domain
Learn more about the provisioning change at Implementing Inbound SMTP DANE with DNSSEC for Exchange Online Mail Flow.
Learn more about .microsoft and its subdomains at Introducing cloud.microsoft: a unified domain for Microsoft 365 apps and services.
Feedback
We welcome your feedback and want to hear from you about your experience with Inbound SMTP DANE with DNSSEC. Please comment on this post if you have any feedback or concerns and we will reply or reach out to you directly as needed.
Microsoft 365 Messaging Team (formerly the Exchange Online Transport Team)
Microsoft Tech Community – Latest Blogs –Read More
Error using newly added wavelet to wavemngr
I am working with a tool in matlab that matches an orthogonal wavelet to a given prototype signal. The attatched image depicts the information stored within the waveletFilter structure generated by the tool.
I would like to add the f/g filters to wavemngr(). I begin by saving f and calling the .mat file by the wavelet short name I plan to use. I then run the following script:
wsname = ‘L1F’;
wname = ‘L1OptimizedFilter’;
eval([wsname ‘=waveletFilterL1.f/sqrt(2);’]);
save(wsname, wsname);
wavemngr(‘add’, wname, wsname, 1, ”, [wsname ‘.mat’]);
When I use wavemngr(‘read’) to validate the addition of my filter, it is there.
However, when I then proceed to access any information regarding the properties, or use the filter with a given transform, I get an error message saying my filter has not been found.I am working with a tool in matlab that matches an orthogonal wavelet to a given prototype signal. The attatched image depicts the information stored within the waveletFilter structure generated by the tool.
I would like to add the f/g filters to wavemngr(). I begin by saving f and calling the .mat file by the wavelet short name I plan to use. I then run the following script:
wsname = ‘L1F’;
wname = ‘L1OptimizedFilter’;
eval([wsname ‘=waveletFilterL1.f/sqrt(2);’]);
save(wsname, wsname);
wavemngr(‘add’, wname, wsname, 1, ”, [wsname ‘.mat’]);
When I use wavemngr(‘read’) to validate the addition of my filter, it is there.
However, when I then proceed to access any information regarding the properties, or use the filter with a given transform, I get an error message saying my filter has not been found. I am working with a tool in matlab that matches an orthogonal wavelet to a given prototype signal. The attatched image depicts the information stored within the waveletFilter structure generated by the tool.
I would like to add the f/g filters to wavemngr(). I begin by saving f and calling the .mat file by the wavelet short name I plan to use. I then run the following script:
wsname = ‘L1F’;
wname = ‘L1OptimizedFilter’;
eval([wsname ‘=waveletFilterL1.f/sqrt(2);’]);
save(wsname, wsname);
wavemngr(‘add’, wname, wsname, 1, ”, [wsname ‘.mat’]);
When I use wavemngr(‘read’) to validate the addition of my filter, it is there.
However, when I then proceed to access any information regarding the properties, or use the filter with a given transform, I get an error message saying my filter has not been found. wavelet, wavemngr, wpdec MATLAB Answers — New Questions
Error using feval Function to evaluate must be represented as a string scalar, character vector, or function_handle object.
% Example5_5.m
% Solution to Example 5.5. This program calculates and plots
% the concentration of cell mass, concentration of penicillin,
% optimal temperature profile, and adjoint variable of a batch
% penicillin fermentor. It uses the function COLLOCATION to
% solve the set of system and adjoint equations.
clear
clc
clf
% Input data
w = input(‘ Enter w”s as a vector : ‘);
y0 = input(‘ Vector of known initial conditions = ‘);
yf = input(‘ Vector of final conditions = ‘);
guess = input(‘ Vector of guessed initial conditions = ‘);
fname = input(‘n M-file containing the set of differential equations : ‘);
fth = input(‘ M-file containing the necessary condition function : ‘);
n = input(‘ Number of internal collocation points = ‘);
rho = input(‘ Relaxation factor = ‘);
% Solution of the set of differential equations
[t,y] = collocation(fname,0,1,y0,yf,guess,n,rho,[],w,fth);
% Temperature changes
for k = 1:n+2
options=optimset;
theta(k) = fzero(fth,30,options,y(:,k),w);
end
% Plotting the results
subplot(2,2,1), plot(t,y(1,:))
xlabel(‘Time’)
ylabel(‘Cell’)
title(‘(a)’)
subplot(2,2,2), plot(t,y(2,:))
xlabel(‘Time’)
ylabel(‘Penicillin’)
title(‘(b)’)
subplot(2,2,3), plot(t,y(3,:))
xlabel(‘Time’)
ylabel(‘First Adjoint’)
title(‘(c)’)
subplot(2,2,4), plot(t,theta)
xlabel(‘Time’)
ylabel(‘Temperature (deg C)’)
title(‘(d)’)
function f = Ex5_5_func(t,y,w,fth)
% Function Ex5_5_func.M
% This function introduces the set of ordinary differential
% equations used in Example 5.5.
% Temperature
options=optimset;
theta = fzero(fth,30,options,y,w);
% Calculating the b’s
b1 = w(1) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
if b1<0, b1=0; end
b2 = w(4) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
if b2<0, b2=1e-6; end
b3 = w(5) * (1-w(2)*(theta-w(6))^2) / (1-w(2)*(25-w(6))^2);
if b3<0, b3=0; end
% Evaluating the function values
f(1) = b1*y(1) – b1/b2*y(1)^2;
f(2) = b3*y(1);
f(3) = -b1*y(3) + 2*b1/b2*y(1)*y(3) – b3;
f = f’; % Make it a column vector
function ftheta = Ex5_5_theta(theta,y,w)
% Function Ex5_5_theta.M
% This function calculates the value of the necessary condition
% as a function of the temperature (theta). It is used in solving
% Example 5.5.
% Calculating the b’s
b1 = w(1) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
db1 = w(1)*(-w(2))*2*(theta-w(3)) / (1-w(2)*(25-w(3))^2);
b2 = w(4) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
db2 = w(4)*(-w(2))*2*(theta-w(3)) / (1-w(2)*(25-w(3))^2);
b3 = w(5) * (1-w(2)*(theta-w(6))^2) / (1-w(2)*(25-w(6))^2);
db3 = w(5)*(-w(2))*2*(theta-w(6)) / (1-w(2)*(25-w(6))^2);
% The function
ftheta = y(3)*(y(1)*db1-y(1)^2*(db1*b2-db2*b1)/b2^2)+y(1)*db3;
function [x,y] = collocation(ODEfile,x0,xf,y0,yf,guess,n,rho,tol,varargin)
%COLLOCATION Solves a boundary value set of ordinary differential
% equations by the orthogonal collocation method.
%
% [X,Y]=COLLOCATION(‘F’,X0,XF,Y0,YF,GAMMA,N) integrates the set of
% ordinary differential equations from X0 to XF by the Nth-degree
% orthogonal collocation method. The equations are contained in
% the M-file F.M. Y0, YF, and GAMMA are the vectors of initial
% conditions, final conditions, and starting guesses respectively.
% The function returns the independent variable in the vector X
% and the set of dependent variables in the matrix Y.
%
% [X,Y]=COLLOCATION(‘F’,X0,XF,Y0,YF,GAMMA,N,RHO,TOL,P1,P2,…)
% uses relaxation factor RHO and tolerance TOL for convergence
% test. Additional parameters P1, P2, … are passed directly to
% the function F. Pass an empty matrix for RHO or TOL to use the
% default value.
%
% See also SHOOTING
% (c) N. Mostoufi & A. Constantinides
% January 1, 1999
% Initialization
if nargin < 7 | isempty(n)
n = 1;
end
if nargin < 8 | isempty(rho)
rho = 1;
end
if nargin < 9 | isempty(tol)
tol = 1e-6;
end
y0 = (y0(:).’)’; % Make sure it’s a column vector
yf = (yf(:).’)’; % Make sure it’s a column vector
guess = (guess(:).’)’; % Make sure it’s a column vector
% Checking the number of guesses
if length(yf) ~= length(guess)
error(‘ The number of guessed conditions is not equal to the number of final conditions.’)
end
r = length(y0); % Number of initial conditions
m = r + length(yf); % Number of boundary conditions
% Checking the number of equations
ftest = feval(ODEfile,x0,[y0 ; guess],varargin{:});
if length(ftest) ~= m
error(‘ The number of equations is not equal to the number of boundary conditions.’)
end
fprintf(‘n Integrating. Please wait.nn’)
% Coefficients of the Legendre polynomial
for k = 0 : n/2
cl(2*k+1) = (-1)^k * gamma(2*n-2*k+1) / …
(2^n * gamma(k+1) * gamma(n-k+1) * gamma(n-2*k+1));
if k < n/2
cl(2*k+2) = 0;
end
end
zl = roots(cl); % Roots of the Legendre polynomial
z = [-1; sort(zl); 1]; % Collocation points (z)
x = (xf-x0)*z/2+(xf+x0)/2; % Collocation points (x)
% Bulding the vector of starting values of the dependent variables
[p,q] = RK(ODEfile,x0,xf,(xf-x0)/20,[y0 ; guess],2,varargin{:});
for k = 1:m
y(k,:) = spline(p,q(k,:),x’);
end
y(r+1:m,end) = yf(1:m-r);
% Building the matrix A
Q(:,1) = ones(n+2,1);
C(:,1) = zeros(n+2,1);
for i = 1:n+1
Q(:,i+1) = x.^i;
C(:,i+1) = i*x.^(i-1);
end
A = C*inv(Q);
for k = 1:m
k1 = (k-1)*(n+2)+1;
k2 = k1 + n+1;
Am(k1:k2,k1:k2) = A; % Building the matrix Am
Y(k1:k2) = y(k,:); % Building the vector Y
end
Y = Y’; % Make it a column vector
Y1 = Y * 1.1;
iter = 0;
maxiter = 100;
F = zeros(m*(n+2),1);
Fa = zeros(m*(n+2),1);
dY = zeros(m*(n+2),1);
position = []; % Collocation points excluding boundary conditions
for k = 1:m
if k <= r
position = [position, (k-1)*(n+2)+[2:n+2] ];
else
position = [position, (k-1)*(n+2)+[1:n+1] ];
end
end
% Newton’s method
while max(abs(Y1 – Y)) > tol & iter < maxiter
iter = iter + 1;
fprintf(‘ Iteration %3dn’,iter)
Y1 = Y;
% Building the vector F
for k = 1:n+2
F(k : n+2 : (m-1)*(n+2)+k) = …
feval(ODEfile,x(k),Y(k : n+2 : (m-1)*(n+2)+k),varargin{:});
end
fnk = Am * Y – F;
% Set dY for derivation
for k = 1:m*(n+1)
if Y(position(k)) ~= 0
dY(position(k)) = Y(position(k)) / 100;
else
dY(position(k)) = 0.01;
end
end
% Calculation of the Jacobian matrix
for k = 1:m
for kk = 1:n+1
a = Y;
nc = (k-1)*(n+1)+kk;
a(position(nc)) = Y(position(nc)) + dY(position(nc));
for kkk = 1:n+2
Fa(kkk : n+2 : (m-1)*(n+2)+kkk) = …
feval(ODEfile,x(kkk),a(kkk:n+2:(m-1)*(n+2)+kkk),varargin{:});
end
fnka = Am * a – Fa;
jacob(:,nc) = (fnka(position) – fnk(position))…
/ dY(position(nc));
end
end
% Next approximation of the roots
if det(jacob) == 0
Y(position) = Y(position) + max([abs(dY(position)); 1.1*tol]);
else
Y(position) = Y(position) – rho * inv(jacob) * fnk(position);
end
end
% Rearranging the y’s
for k = 1:m
k1 = (k-1)*(n+2)+1;
k2 = k1 + n+1;
y(k,:) = Y(k1:k2)’;
end
x = x’;
if iter >= maxiter
disp(‘Warning : Maximum iterations reached.’)
end% Example5_5.m
% Solution to Example 5.5. This program calculates and plots
% the concentration of cell mass, concentration of penicillin,
% optimal temperature profile, and adjoint variable of a batch
% penicillin fermentor. It uses the function COLLOCATION to
% solve the set of system and adjoint equations.
clear
clc
clf
% Input data
w = input(‘ Enter w”s as a vector : ‘);
y0 = input(‘ Vector of known initial conditions = ‘);
yf = input(‘ Vector of final conditions = ‘);
guess = input(‘ Vector of guessed initial conditions = ‘);
fname = input(‘n M-file containing the set of differential equations : ‘);
fth = input(‘ M-file containing the necessary condition function : ‘);
n = input(‘ Number of internal collocation points = ‘);
rho = input(‘ Relaxation factor = ‘);
% Solution of the set of differential equations
[t,y] = collocation(fname,0,1,y0,yf,guess,n,rho,[],w,fth);
% Temperature changes
for k = 1:n+2
options=optimset;
theta(k) = fzero(fth,30,options,y(:,k),w);
end
% Plotting the results
subplot(2,2,1), plot(t,y(1,:))
xlabel(‘Time’)
ylabel(‘Cell’)
title(‘(a)’)
subplot(2,2,2), plot(t,y(2,:))
xlabel(‘Time’)
ylabel(‘Penicillin’)
title(‘(b)’)
subplot(2,2,3), plot(t,y(3,:))
xlabel(‘Time’)
ylabel(‘First Adjoint’)
title(‘(c)’)
subplot(2,2,4), plot(t,theta)
xlabel(‘Time’)
ylabel(‘Temperature (deg C)’)
title(‘(d)’)
function f = Ex5_5_func(t,y,w,fth)
% Function Ex5_5_func.M
% This function introduces the set of ordinary differential
% equations used in Example 5.5.
% Temperature
options=optimset;
theta = fzero(fth,30,options,y,w);
% Calculating the b’s
b1 = w(1) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
if b1<0, b1=0; end
b2 = w(4) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
if b2<0, b2=1e-6; end
b3 = w(5) * (1-w(2)*(theta-w(6))^2) / (1-w(2)*(25-w(6))^2);
if b3<0, b3=0; end
% Evaluating the function values
f(1) = b1*y(1) – b1/b2*y(1)^2;
f(2) = b3*y(1);
f(3) = -b1*y(3) + 2*b1/b2*y(1)*y(3) – b3;
f = f’; % Make it a column vector
function ftheta = Ex5_5_theta(theta,y,w)
% Function Ex5_5_theta.M
% This function calculates the value of the necessary condition
% as a function of the temperature (theta). It is used in solving
% Example 5.5.
% Calculating the b’s
b1 = w(1) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
db1 = w(1)*(-w(2))*2*(theta-w(3)) / (1-w(2)*(25-w(3))^2);
b2 = w(4) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
db2 = w(4)*(-w(2))*2*(theta-w(3)) / (1-w(2)*(25-w(3))^2);
b3 = w(5) * (1-w(2)*(theta-w(6))^2) / (1-w(2)*(25-w(6))^2);
db3 = w(5)*(-w(2))*2*(theta-w(6)) / (1-w(2)*(25-w(6))^2);
% The function
ftheta = y(3)*(y(1)*db1-y(1)^2*(db1*b2-db2*b1)/b2^2)+y(1)*db3;
function [x,y] = collocation(ODEfile,x0,xf,y0,yf,guess,n,rho,tol,varargin)
%COLLOCATION Solves a boundary value set of ordinary differential
% equations by the orthogonal collocation method.
%
% [X,Y]=COLLOCATION(‘F’,X0,XF,Y0,YF,GAMMA,N) integrates the set of
% ordinary differential equations from X0 to XF by the Nth-degree
% orthogonal collocation method. The equations are contained in
% the M-file F.M. Y0, YF, and GAMMA are the vectors of initial
% conditions, final conditions, and starting guesses respectively.
% The function returns the independent variable in the vector X
% and the set of dependent variables in the matrix Y.
%
% [X,Y]=COLLOCATION(‘F’,X0,XF,Y0,YF,GAMMA,N,RHO,TOL,P1,P2,…)
% uses relaxation factor RHO and tolerance TOL for convergence
% test. Additional parameters P1, P2, … are passed directly to
% the function F. Pass an empty matrix for RHO or TOL to use the
% default value.
%
% See also SHOOTING
% (c) N. Mostoufi & A. Constantinides
% January 1, 1999
% Initialization
if nargin < 7 | isempty(n)
n = 1;
end
if nargin < 8 | isempty(rho)
rho = 1;
end
if nargin < 9 | isempty(tol)
tol = 1e-6;
end
y0 = (y0(:).’)’; % Make sure it’s a column vector
yf = (yf(:).’)’; % Make sure it’s a column vector
guess = (guess(:).’)’; % Make sure it’s a column vector
% Checking the number of guesses
if length(yf) ~= length(guess)
error(‘ The number of guessed conditions is not equal to the number of final conditions.’)
end
r = length(y0); % Number of initial conditions
m = r + length(yf); % Number of boundary conditions
% Checking the number of equations
ftest = feval(ODEfile,x0,[y0 ; guess],varargin{:});
if length(ftest) ~= m
error(‘ The number of equations is not equal to the number of boundary conditions.’)
end
fprintf(‘n Integrating. Please wait.nn’)
% Coefficients of the Legendre polynomial
for k = 0 : n/2
cl(2*k+1) = (-1)^k * gamma(2*n-2*k+1) / …
(2^n * gamma(k+1) * gamma(n-k+1) * gamma(n-2*k+1));
if k < n/2
cl(2*k+2) = 0;
end
end
zl = roots(cl); % Roots of the Legendre polynomial
z = [-1; sort(zl); 1]; % Collocation points (z)
x = (xf-x0)*z/2+(xf+x0)/2; % Collocation points (x)
% Bulding the vector of starting values of the dependent variables
[p,q] = RK(ODEfile,x0,xf,(xf-x0)/20,[y0 ; guess],2,varargin{:});
for k = 1:m
y(k,:) = spline(p,q(k,:),x’);
end
y(r+1:m,end) = yf(1:m-r);
% Building the matrix A
Q(:,1) = ones(n+2,1);
C(:,1) = zeros(n+2,1);
for i = 1:n+1
Q(:,i+1) = x.^i;
C(:,i+1) = i*x.^(i-1);
end
A = C*inv(Q);
for k = 1:m
k1 = (k-1)*(n+2)+1;
k2 = k1 + n+1;
Am(k1:k2,k1:k2) = A; % Building the matrix Am
Y(k1:k2) = y(k,:); % Building the vector Y
end
Y = Y’; % Make it a column vector
Y1 = Y * 1.1;
iter = 0;
maxiter = 100;
F = zeros(m*(n+2),1);
Fa = zeros(m*(n+2),1);
dY = zeros(m*(n+2),1);
position = []; % Collocation points excluding boundary conditions
for k = 1:m
if k <= r
position = [position, (k-1)*(n+2)+[2:n+2] ];
else
position = [position, (k-1)*(n+2)+[1:n+1] ];
end
end
% Newton’s method
while max(abs(Y1 – Y)) > tol & iter < maxiter
iter = iter + 1;
fprintf(‘ Iteration %3dn’,iter)
Y1 = Y;
% Building the vector F
for k = 1:n+2
F(k : n+2 : (m-1)*(n+2)+k) = …
feval(ODEfile,x(k),Y(k : n+2 : (m-1)*(n+2)+k),varargin{:});
end
fnk = Am * Y – F;
% Set dY for derivation
for k = 1:m*(n+1)
if Y(position(k)) ~= 0
dY(position(k)) = Y(position(k)) / 100;
else
dY(position(k)) = 0.01;
end
end
% Calculation of the Jacobian matrix
for k = 1:m
for kk = 1:n+1
a = Y;
nc = (k-1)*(n+1)+kk;
a(position(nc)) = Y(position(nc)) + dY(position(nc));
for kkk = 1:n+2
Fa(kkk : n+2 : (m-1)*(n+2)+kkk) = …
feval(ODEfile,x(kkk),a(kkk:n+2:(m-1)*(n+2)+kkk),varargin{:});
end
fnka = Am * a – Fa;
jacob(:,nc) = (fnka(position) – fnk(position))…
/ dY(position(nc));
end
end
% Next approximation of the roots
if det(jacob) == 0
Y(position) = Y(position) + max([abs(dY(position)); 1.1*tol]);
else
Y(position) = Y(position) – rho * inv(jacob) * fnk(position);
end
end
% Rearranging the y’s
for k = 1:m
k1 = (k-1)*(n+2)+1;
k2 = k1 + n+1;
y(k,:) = Y(k1:k2)’;
end
x = x’;
if iter >= maxiter
disp(‘Warning : Maximum iterations reached.’)
end % Example5_5.m
% Solution to Example 5.5. This program calculates and plots
% the concentration of cell mass, concentration of penicillin,
% optimal temperature profile, and adjoint variable of a batch
% penicillin fermentor. It uses the function COLLOCATION to
% solve the set of system and adjoint equations.
clear
clc
clf
% Input data
w = input(‘ Enter w”s as a vector : ‘);
y0 = input(‘ Vector of known initial conditions = ‘);
yf = input(‘ Vector of final conditions = ‘);
guess = input(‘ Vector of guessed initial conditions = ‘);
fname = input(‘n M-file containing the set of differential equations : ‘);
fth = input(‘ M-file containing the necessary condition function : ‘);
n = input(‘ Number of internal collocation points = ‘);
rho = input(‘ Relaxation factor = ‘);
% Solution of the set of differential equations
[t,y] = collocation(fname,0,1,y0,yf,guess,n,rho,[],w,fth);
% Temperature changes
for k = 1:n+2
options=optimset;
theta(k) = fzero(fth,30,options,y(:,k),w);
end
% Plotting the results
subplot(2,2,1), plot(t,y(1,:))
xlabel(‘Time’)
ylabel(‘Cell’)
title(‘(a)’)
subplot(2,2,2), plot(t,y(2,:))
xlabel(‘Time’)
ylabel(‘Penicillin’)
title(‘(b)’)
subplot(2,2,3), plot(t,y(3,:))
xlabel(‘Time’)
ylabel(‘First Adjoint’)
title(‘(c)’)
subplot(2,2,4), plot(t,theta)
xlabel(‘Time’)
ylabel(‘Temperature (deg C)’)
title(‘(d)’)
function f = Ex5_5_func(t,y,w,fth)
% Function Ex5_5_func.M
% This function introduces the set of ordinary differential
% equations used in Example 5.5.
% Temperature
options=optimset;
theta = fzero(fth,30,options,y,w);
% Calculating the b’s
b1 = w(1) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
if b1<0, b1=0; end
b2 = w(4) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
if b2<0, b2=1e-6; end
b3 = w(5) * (1-w(2)*(theta-w(6))^2) / (1-w(2)*(25-w(6))^2);
if b3<0, b3=0; end
% Evaluating the function values
f(1) = b1*y(1) – b1/b2*y(1)^2;
f(2) = b3*y(1);
f(3) = -b1*y(3) + 2*b1/b2*y(1)*y(3) – b3;
f = f’; % Make it a column vector
function ftheta = Ex5_5_theta(theta,y,w)
% Function Ex5_5_theta.M
% This function calculates the value of the necessary condition
% as a function of the temperature (theta). It is used in solving
% Example 5.5.
% Calculating the b’s
b1 = w(1) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
db1 = w(1)*(-w(2))*2*(theta-w(3)) / (1-w(2)*(25-w(3))^2);
b2 = w(4) * (1-w(2)*(theta-w(3))^2) / (1-w(2)*(25-w(3))^2);
db2 = w(4)*(-w(2))*2*(theta-w(3)) / (1-w(2)*(25-w(3))^2);
b3 = w(5) * (1-w(2)*(theta-w(6))^2) / (1-w(2)*(25-w(6))^2);
db3 = w(5)*(-w(2))*2*(theta-w(6)) / (1-w(2)*(25-w(6))^2);
% The function
ftheta = y(3)*(y(1)*db1-y(1)^2*(db1*b2-db2*b1)/b2^2)+y(1)*db3;
function [x,y] = collocation(ODEfile,x0,xf,y0,yf,guess,n,rho,tol,varargin)
%COLLOCATION Solves a boundary value set of ordinary differential
% equations by the orthogonal collocation method.
%
% [X,Y]=COLLOCATION(‘F’,X0,XF,Y0,YF,GAMMA,N) integrates the set of
% ordinary differential equations from X0 to XF by the Nth-degree
% orthogonal collocation method. The equations are contained in
% the M-file F.M. Y0, YF, and GAMMA are the vectors of initial
% conditions, final conditions, and starting guesses respectively.
% The function returns the independent variable in the vector X
% and the set of dependent variables in the matrix Y.
%
% [X,Y]=COLLOCATION(‘F’,X0,XF,Y0,YF,GAMMA,N,RHO,TOL,P1,P2,…)
% uses relaxation factor RHO and tolerance TOL for convergence
% test. Additional parameters P1, P2, … are passed directly to
% the function F. Pass an empty matrix for RHO or TOL to use the
% default value.
%
% See also SHOOTING
% (c) N. Mostoufi & A. Constantinides
% January 1, 1999
% Initialization
if nargin < 7 | isempty(n)
n = 1;
end
if nargin < 8 | isempty(rho)
rho = 1;
end
if nargin < 9 | isempty(tol)
tol = 1e-6;
end
y0 = (y0(:).’)’; % Make sure it’s a column vector
yf = (yf(:).’)’; % Make sure it’s a column vector
guess = (guess(:).’)’; % Make sure it’s a column vector
% Checking the number of guesses
if length(yf) ~= length(guess)
error(‘ The number of guessed conditions is not equal to the number of final conditions.’)
end
r = length(y0); % Number of initial conditions
m = r + length(yf); % Number of boundary conditions
% Checking the number of equations
ftest = feval(ODEfile,x0,[y0 ; guess],varargin{:});
if length(ftest) ~= m
error(‘ The number of equations is not equal to the number of boundary conditions.’)
end
fprintf(‘n Integrating. Please wait.nn’)
% Coefficients of the Legendre polynomial
for k = 0 : n/2
cl(2*k+1) = (-1)^k * gamma(2*n-2*k+1) / …
(2^n * gamma(k+1) * gamma(n-k+1) * gamma(n-2*k+1));
if k < n/2
cl(2*k+2) = 0;
end
end
zl = roots(cl); % Roots of the Legendre polynomial
z = [-1; sort(zl); 1]; % Collocation points (z)
x = (xf-x0)*z/2+(xf+x0)/2; % Collocation points (x)
% Bulding the vector of starting values of the dependent variables
[p,q] = RK(ODEfile,x0,xf,(xf-x0)/20,[y0 ; guess],2,varargin{:});
for k = 1:m
y(k,:) = spline(p,q(k,:),x’);
end
y(r+1:m,end) = yf(1:m-r);
% Building the matrix A
Q(:,1) = ones(n+2,1);
C(:,1) = zeros(n+2,1);
for i = 1:n+1
Q(:,i+1) = x.^i;
C(:,i+1) = i*x.^(i-1);
end
A = C*inv(Q);
for k = 1:m
k1 = (k-1)*(n+2)+1;
k2 = k1 + n+1;
Am(k1:k2,k1:k2) = A; % Building the matrix Am
Y(k1:k2) = y(k,:); % Building the vector Y
end
Y = Y’; % Make it a column vector
Y1 = Y * 1.1;
iter = 0;
maxiter = 100;
F = zeros(m*(n+2),1);
Fa = zeros(m*(n+2),1);
dY = zeros(m*(n+2),1);
position = []; % Collocation points excluding boundary conditions
for k = 1:m
if k <= r
position = [position, (k-1)*(n+2)+[2:n+2] ];
else
position = [position, (k-1)*(n+2)+[1:n+1] ];
end
end
% Newton’s method
while max(abs(Y1 – Y)) > tol & iter < maxiter
iter = iter + 1;
fprintf(‘ Iteration %3dn’,iter)
Y1 = Y;
% Building the vector F
for k = 1:n+2
F(k : n+2 : (m-1)*(n+2)+k) = …
feval(ODEfile,x(k),Y(k : n+2 : (m-1)*(n+2)+k),varargin{:});
end
fnk = Am * Y – F;
% Set dY for derivation
for k = 1:m*(n+1)
if Y(position(k)) ~= 0
dY(position(k)) = Y(position(k)) / 100;
else
dY(position(k)) = 0.01;
end
end
% Calculation of the Jacobian matrix
for k = 1:m
for kk = 1:n+1
a = Y;
nc = (k-1)*(n+1)+kk;
a(position(nc)) = Y(position(nc)) + dY(position(nc));
for kkk = 1:n+2
Fa(kkk : n+2 : (m-1)*(n+2)+kkk) = …
feval(ODEfile,x(kkk),a(kkk:n+2:(m-1)*(n+2)+kkk),varargin{:});
end
fnka = Am * a – Fa;
jacob(:,nc) = (fnka(position) – fnk(position))…
/ dY(position(nc));
end
end
% Next approximation of the roots
if det(jacob) == 0
Y(position) = Y(position) + max([abs(dY(position)); 1.1*tol]);
else
Y(position) = Y(position) – rho * inv(jacob) * fnk(position);
end
end
% Rearranging the y’s
for k = 1:m
k1 = (k-1)*(n+2)+1;
k2 = k1 + n+1;
y(k,:) = Y(k1:k2)’;
end
x = x’;
if iter >= maxiter
disp(‘Warning : Maximum iterations reached.’)
end collocation MATLAB Answers — New Questions
THD analysis of mathematical simulink model
I have done mathematical modelling of my system in simulink then how to perform the THD analysisI have done mathematical modelling of my system in simulink then how to perform the THD analysis I have done mathematical modelling of my system in simulink then how to perform the THD analysis thd, mathematical model MATLAB Answers — New Questions