Month: September 2024
Microsoft Entra Hybrid Join – Devices Stuck in “Pending” Status
Hello Team, We are facing an issue with our on-premises Active Directory (AD) integrated with Active Directory Federation Services (AD FS). We have correctly configured Microsoft Entra hybrid join using Microsoft Entra Connect, following the official documentation. However, we have observed that all our devices are showing up in Microsoft Entra devices with a status of “Pending”, and this status remains unchanged indefinitely. To troubleshoot, we have already tried running the following command: dsregcmd /leave. After rebooting the PCs, the issue persists. Running the below command, results in the following output:C:Usersabc> dsregcmd /debug /join DsrCLI: logging initialized.DsrCLI: logging initialized.DsrCmdJoinHelper::Join: ClientRequestId: e58946ab-b851-1759-3658-69824b6857fDsrCmdAccountMgr::IsDomainControllerAvailable: DsGetDcName success { domain:contoso.local forest:contoso.local domainController:\dc1.contoso.local isDcAvailable:true }PreJoinChecks Complete.preCheckResult: JoindeviceKeysHealthy: undefinedisJoined: undefinedisDcAvailable: YESisSystem: YESkeyProvider: undefinedkeyContainer: undefineddsrInstance: undefinedelapsedSeconds: 1resultCode: 0x0Automatic device join pre-check tasks completed.TenantInfo::Discover: Call to DsrBeginDiscover failed before wait. 0x80070057DsrCmdJoinHelper::Join: TenantInfo::Discover failed with error code 0x80070057.DSREGCMD_END_STATUSAzureAdJoined : NOEnterpriseJoined : NO We also ran the DSRegTool PowerShell script but did not encounter any significant errors. Given the error code 0x80070057 and the devices not registering with Azure AD, we suspect there could be an issue either with the tenant discovery process or with certain configuration steps that might have been overlooked. Has anyone encountered this error before or have any insights into further troubleshooting steps to resolve this issue? Any guidance would be greatly appreciated. Thanks Read More
Supercharge Your Business. Excel Made Easy: How Copilot Can Revolutionize Your Small Business
Excel is Now SUPER Powered with Copilot in Excel with Python
Managing a small business can be tough, and making decisions based on data analysis can often feel overwhelming. You’re constantly inundated with data on sales, customers, competitors, and the market.
Microsoft Excel is an indispensable tool for small businesses, offering a wide array of features that can streamline operations, enhance productivity, and drive growth. Whether you’re managing finances, analyzing data, or collaborating with your team, Excel provides the functionality needed to tackle these tasks efficiently. This blog will highlight some of the most interesting and beneficial features of Microsoft Excel for small businesses, showcasing how this versatile software can be a game-changer.
One of the standout features of Excel is its powerful data analysis capabilities. Small businesses can leverage tools like PivotTables, charts, and conditional formatting to gain insights into their operations. PivotTables allow users to summarize large datasets and extract meaningful patterns, while charts provide a visual representation of data, making it easier to understand trends and make informed decisions. Conditional formatting helps highlight important data points, ensuring that critical information stands out.
Excel’s financial management tools are another major asset for small businesses. With built-in templates for budgeting, expense tracking, and financial forecasting, Excel simplifies the process of managing finances. Small businesses can create detailed financial reports, monitor cash flow, and plan for future growth with ease. The ability to customize these templates to fit specific business needs further enhances their utility.
Project management is another area where Excel excels. Small businesses can use Excel to plan, track, and manage projects from start to finish. Features like Gantt charts and task lists help keep projects on schedule and within budget. By organizing tasks, setting deadlines, and monitoring progress, businesses can ensure that projects are completed efficiently and effectively. This level of organization is crucial for small businesses that need to maximize their resources.
Collaboration is made easy with Excel’s cloud-based features. Teams can work on the same document simultaneously, regardless of their location, thanks to Excel’s real-time collaboration capabilities. This fosters better communication and ensures that everyone is on the same page. Additionally, Excel’s sharing and commenting features make it simple to provide feedback and make revisions, enhancing the collaborative process and improving overall productivity.
But how do you make sense of this information? How do you spot the trends to take actions that benefit your business? Microsoft 365 provides tools to simplify this analysis. Introducing Copilot in Excel and Copilot in Excel with Python, designed to help you more easily make sense of the numbers impacting your business.
Copilot in Excel: Your Very Own Excel Expert
Copilot in Excel is like having an Excel expert at your fingertips, available 24/7. Copilot in Excel can analyze your company’s data, uncover trends, and deliver actionable insights. Here’s how it can help:
• Quick Data Analysis: Copilot can look at your data, analyzing it to find important trends and patterns. This means you can make decisions faster without spending hours on the numbers and it also ensures that tasks are performed consistently and accurately.
• Easy Questions: You can ask Copilot questions, like “What were our best-selling products last month?” and get a quick answer. This enables you to take advantage of Excel’s many functions even if you are unfamiliar with them.
• Automate Tasks: Copilot can handle repetitive tasks like formatting data and creating reports. This minimizes the risk of human error, which is common when manually adjusting data, and gives you more time to focus on growing your business.
Consider this scenario: you have a spreadsheet of the year’s sales and marketing spend against your company’s products. With simple natural language prompts, Copilot in Excel can detect the profit you made, and the profit margin of each product. With this, you get valuable insight on what’s making you money, and what isn’t. With Copilot in Excel this analysis is done quickly and accurately, without having to spend hours on end creating formulas and double-checking them when they break.
In the same spreadsheet, you can get important takeaways like where you’re seeing the best sales. Just ask Copilot in natural language to “group units by state” and it will automatically generate a chart that illustrates sales by state. You can even put that chart on a new sheet with one click to focus on it or share with others.
Get Even More Insights with Copilot in Excel with Python
Python, a versatile and widely used programming language, is popular in sectors like finance but can feel out of reach for those who do not know Python code. Copilot now harnesses the power of Python in Excel to enable deep analysis using everyday language. Copilot in Excel with Python enables people across segments such as marketing, sales, and healthcare to leverage the power of Python without needing to be proficient in it. For instance, marketers can utilize Copilot to conduct robust analyses of customer data, monitor campaign performance, and refine marketing strategies – all using natural language. Because this is integrated directly into your spreadsheet, you can access powerful visualizations, machine learning, predictive analytics, and more, all without needing to write any Python code or be a data scientist. Here is what it can do:
• Data Analysis: Python can handle more complex data analysis than Excel alone.
• Custom Charts: Create unique charts and graphs that make your data easier to understand, including word clouds, heatmaps, pairplots, and multiplots.
• Predict Trends: Python can conduct forecasting, so you can make better decisions.
Use Copilot in Excel to analyze text (not just numerical data). See raw textual data turned into actionable insights so you can clearly understand what to do next to drive your business forward.
How These Features Support Your Business
Imagine having a dedicated Excel expert at your fingertips—one who is always ready to scrutinize information, identify trends, and generate actionable insights. With Copilot in Excel, this becomes a reality. You can iterate with Copilot, asking questions, like you would a colleague. By collaborating with Copilot, you can harness advanced analysis tools to transform your data into valuable intelligence. Simply click the Copilot button within Excel to get started.
Copilot in Excel is now generally available and included in both Microsoft Copilot Pro and Copilot for Microsoft 365 subscriptions. Copilot in Excel with Python is in preview and offered through the Microsoft Insider Program. Learn more details in the announcement. If you’re interested in using Python in Excel without Copilot, check out more details on the Python in Excel announcement.
Microsoft Tech Community – Latest Blogs –Read More
Use LogicApps and Copilot for Security to auto-process ISAC Emails
Information Sharing and Analysis Center (ISAC) is an organization that provides a central resource for gathering information on cyber and related threats to critical infrastructure and plays an important role in safeguarding industries from emerging threats. By bridging the gap between private and public sectors, ISACs provide timely and actionable intelligence on vulnerabilities that impact critical infrastructure. However, manually processing the ISAC threat bulletins can be overwhelming and slow, leaving security teams scrambling to respond in time. This document explores how leveraging automation through Logic Apps and Microsoft’s Copilot for Security can streamline ISAC email processing, empowering organizations to respond to vulnerabilities faster and more effectively.
In the US, several industries have their own ISACs which are registered with the National Council of ISACs, a subset of these ISACs are given below:
Auto-ISAC: ISAC for the Automotive Industry
E-ISAC: ISAC for the Electric Industry
FS-ISAC: ISAC for the Financial service industry
Health-ISAC: ISAC for the Health care industry
ONG-ISAC: ISAC for Oil & Gas industry
Canada, the UK, and other countries also have localized and industry-specific ISACs for their regions.
ISACs send out threat bulletins in email format which contain CVEs and other threat intel. The receiving members of these bulletins are expected to scan their environment for the mentioned CVEs/threat intel thus allowing for proactive remediation. Below is a sample of a threat bulletin sent by Health-ISAC (available for download here😞
The normal process of scanning CVEs contained in an ISAC requires each CVE to be manually verified against the vulnerability management tool. Other high-priority work can prevent the security analysts from analyzing the CVEs till several days after receiving the ISAC email.
As a large language model (LLM) focused on security, Copilot can take the manual effort out of this analysis by auto converting the generic ISAC bulletin into actionable information that only includes the CVEs that exist in your environment. With the help of Logic Apps to retrieve and parse out the email, an agent type workflow that analyzes the ISAC email and converts it to actionable information can be built. In the next section we will discuss how to build this Logic App.
Logic App
Logic App is a low-code / no-code platform provided in Azure. With it’s over 1000 connectors, it has tremendous capabilities in building automated workflows. This article assumes familiarity with Logic Apps and to get more understanding on building and using Logic Apps, documentation is available here. The user deploying a Logic App needs at least a ‘Contributor’ role in the Azure resource group to which the Logic App is being deployed.
The starting point of the Logic App flow is the trigger that allows a Logic App flow to be executed when the trigger event has occurred. In our example, we use an email trigger and configure it for the specific Outlook mailbox that receives the ISAC email.
To extract the CVEs contained in the email, we will need 2 variables, cveArray, and uniqueCVEArray which are initialized separately.
The subject of the email will determine if it should be processed further. A conditional clause handles the situation, resulting in a true or branch.
Most ISAC emails will have “ISAC” in the email subject which is what determines the outcome. Adding another condition that checks the sender’s email is also recommended as it further ensures that the Logic App runs for a legitimate ISAC email only.
If the conditions have evaluated to true, we continue further execution in the Logic App. Most ISAC emails arrive in HTML format, and two connectors are leveraged. One to extract the HTML body (which is contained in a JSON provided by the Outlook trigger) and another to convert the HTML document to text as shown below:
Once the email body is extracted, we are ready to extract the CVEs. Copilot for Security can natively perform this task however, it’s not the most efficient method with large emails. Hence, we extract the CVEs in the Logic App itself. There are many options to accomplish this, we have chosen the JavaScript connector:
We define a Regular Expression (RegEx) with JavaScript to identify CVEs:
*Note that if the JavaScript Code connector is run in a consumption Logic App, it will need an integration account to run correctly.
The extracted CVEs are now assigned to cveArray variable, however if the same CVE is mentioned multiple times in the email body it will have repeated entries. To remove the duplicates we use the union() function on cveArray and the unique CVEs are then stored in another variable uniqueCVEArray. The data is now ready to send to Copilot for Security.
The Copilot for Security Logic App connector can issue prompts and receive responses. The first prompt will send all CVEs from uniqueCVEArray and ask Copilot to extract those CVEs. While not mandatory, this step ensures that Copilot parses out and understands the CVEs to be presented and prevents wrong input to be provided to downstream prompts.
The second prompt asks Copilot to show how many of the CVEs are present in the environment. This prompt uses KQL to query Microsoft Defender’s Threat and Vulnerability Management (TVM) data to find the CVEs. If you are using another TVM tool you can write a Copilot API plugin for it and modify this prompt to allow Copilot to analyze the CVEs using your specific tool.
*Note that if the Logic App is going to be run frequently, it is more efficient from an SCU consumption perspective to convert the KQL query into a KQL plugin. Or you can also specify the KQL directly in the prompt, where the new prompt is shown below:
“Execute the KQL:
DeviceTvmSoftwareVulnerabilities | where CveId in (AllCVEs) | summarize count() by CveId
where AllCVEs is the list of all CVEs shown previously”
Once we have the CVE scan information our next prompt requests Copilot to write a report and enrich the CVE information with data from Microsoft Defender Threat Intelligence (MDTI) and only include the CVEs that were found in the environment.
The results of the CVE’s found and its enriched data will be sent as another email to one or more users. Microsoft Outlook sends formatted emails in HTML format so now we need to convert the report generated by Copilot to HTML format, and in our last prompt we ask Copilot to do just that.
Our last connector is for sending the email via Outlook. This takes the HTML report and sends it as an email to specific users.
Note that in the body of the email we included additional details like Copilot SessionID, the CVE scan report (from the 3rd prompt) and the last HTML report (from 4th prompt). The HTML report is the only one that users are interested in, but having those additional fields helps in initial deployment where you may need to tweak the output to customize it for your environment.
The email received from the last Outlook plugin is shown below. The report format can be easily changed by modifying the 3rd and 4th prompts:
In this article, we showed how to build a Logic App that can act as an agent to process ISAC emails containing CVE information. The Logic App takes a generic ISAC threat bulletin, and with help from Copilot converts the generic email to an actionable email that contains only the CVEs that are present in your environment and enriches the context by providing more information on each.
Depending on the number of ISAC or other CVE-related emails received per week, this Logic App can save several minutes to hours of work for a security organization.
Microsoft Tech Community – Latest Blogs –Read More
Microsoft 365 Copilot Wave 2: AI Innovations in SharePoint and OneDrive
Today, Satya Nadella and Jared Spataro introduced Wave 2 of Microsoft 365 Copilot innovations, including new Copilot agents that automate and streamline processes. Now anyone can easily create an agent with specific subject-matter expertise—from a coach to a brainstorm partner to a field-service technician. These updates represent a big stride forward in helping drive customer value with Copilot, and SharePoint and OneDrive will play a key part in this wave of Copilot innovations.
SharePoint has become the foundational content management platform for enterprises―powering OneDrive, SharePoint sites, Teams, Loop, Stream, and more. It facilitates team collaboration, business processes, knowledge management, and employee communication with robust content services. With hundreds of millions of active users adding over 2.5 billion new files daily, SharePoint is a wealth of valuable organizational knowledge and insights that users can now harness with Copilot agents.
We are excited to announce the public preview of Copilot agents in SharePoint, a new experience that enables any user to quickly create and share agents right from within SharePoint for specific purposes. With a few clicks, you can create and share a Copilot agent in SharePoint―no coding skills required, all while respecting the organization’s security policies. These agents can work on your behalf answering questions about source material, reasoning over that material, and acting like a well-informed teammate would. Copilot agents in SharePoint will enter public preview in early October.
OneDrive is the common files experiences for Microsoft 365 and is the common place you get to all your content, either standalone, in Teams, Outlook, or the Microsoft 365 app. This is why we are also excited to announce Copilot in OneDrive. With it, you can efficiently summarize, get answers from, and compare your files in OneDrive faster than ever. These features are rolling out now and will be generally available by the end of September.
Copilot in SharePoint is now rolling out to customers, with additional features coming later this year. Copilot in SharePoint helps site creators author pages and create stunning sites, using AI and natural language. Simply explain the page you need, and Copilot builds it for you.
Super charge productivity with Copilot agents in SharePoint
Create an agent in just a few clicks: Creating a Copilot agent in SharePoint is a simple starting point for users looking to use AI tools tailored for their particular needs. Make Copilot your own. Use it to collaborate with others using the same relevant knowledge base and make critical decisions efficiently, or to spend less time consuming information so you can focus on more meaningful work. And you can create these agents right from where you’re already working in SharePoint.
Copilot agents in SharePoint work for you, your team, and cross-functional collaborators to help enhance knowledge sharing and teamwork. Let’s say you want to create a Copilot agent for a project you’re kicking off this quarter with a few other teammates. From your SharePoint document library, select only the folders or files you want. Then, with one click, you can create and immediately begin using your new agent. It reasons over the scoped set of SharePoint content to answer your questions, summarize information, or provide valuable insights, giving the most current and accurate response.
Secure by design: Creating an agent is as straightforward as creating a file. Agents in SharePoint are saved as Copilot files stored in the site where they’re initiated, ensuring consistent management and governance with site content.
Anyone with edit permissions on a SharePoint site, such as a site member, can create an agent scoped to the content they choose, and the agent will adhere to each user’s SharePoint permissions and the organization’s security policies. These Copilot agents, along with your other Microsoft 365 data, stay within the Microsoft 365 trust boundary.
Customize your agent: To further customize the agent you created in SharePoint, click the edit button to add more files, update the branding, modify starter prompts, and more. You can easily enhance your agent in Copilot Studio with more advanced customization, such as adding actions to automate workflows or additional data sources beyond SharePoint.
Share and collaborate: Similar to files in other Microsoft 365 productivity apps, you can easily add the agent to a Teams chat or share a link via email to collaborate with others. All you need to do to interact with the agent is @mention it.
Sharing this agent with collaborators for a specific project helps foster teamwork and knowledge sharing so you can all get insights and make decisions based on the same current, relevant information.
Built-in Copilot agent scoped to your SharePoint site: In addition to user–created Copilot agents, every SharePoint site will have a prebuilt Copilot agent grounded in all the content within that site. Any site member can use this Copilot agent to ask questions and gain insights from the site.
How to use Copilot agents: Here are a few examples that might inspire you to create Copilot agents from SharePoint for your own unique needs:
Everyone can benefit from an onboarding or transition buddy. An agent can help you get up to speed in a new role or provide support and guidance to others as you transition to a new team.
Marketing with a product launch agent enables a large, cross-functional team to filter and reason over various marketing documents to understand key dates and deliverables and make decisions or next steps.
Sales teams can get a key advantage with a conversation agent. Copilot can use customer details and interactions to suggest pertinent questions and content, optimizing conversations and engagement
HR can use an onboarding agent to guide new employees through company policies and provide them with instant, relevant answers.
Customer service can find answers and respond to customer questions with a triage agent. It can also surface trends and suggest fixes for common issues.
Engineering and product support can use a field incident report agent to analyze the types of issues coming in from the field and provide an analysis of what product issues should be prioritized.
Copilot agents in SharePoint make it easy to scale knowledge, enhance team collaboration, and drive operational efficiency from where you’re already working. It’s coming to public preview in early October, so give it a try in SharePoint soon.
Boost your efficiency at work with Copilot in OneDrive
Copilot in OneDrive is designed to help you rapidly find the files you need, discover content faster, and enhance your productivity to be more efficient―streamlining your daily tasks without ever opening a file.
Summarize files quickly: Faster extraction of key information in OneDrive is a productivity booster. With Copilot in OneDrive, you can summarize one or multiple files in your OneDrive web app without opening each file. Additionally, you can generate an FAQ from a document to use or share as a reference asset. For example, after returning from an extended vacation, you can summarize project plans and meeting notes to catch up on your work with one click in OneDrive
Compare documents with ease: Locating the right data or understanding the differences between multiple files is time-consuming. You can now select up to five files―even mixing formats such as Word docs, PowerPoints, and PDFs―and have Copilot offer a detailed comparison across all the files. This lets you get a high-level understanding of the information you’re working with.
Get answers on specific content: Sometimes you need to find a quick answer to a question or information that can help you with a project you’re working on. Now, you can ask Copilot questions about the information you need from the documents you choose to gain insights and do your best work.
The new Copilot in OneDrive features―summarizing content, asking questions about relevant files, and comparing documents―give you the most value out of your content.
Build SharePoint sites effortlessly with Copilot in SharePoint
Every month, millions of users create and edit sites and pages in SharePoint. Copilot in SharePoint now puts your words to work to create beautiful sites and pages. You can use AI and natural language to author pages and create content-rich sites.
Rewrite text to fit the perfect tone: Spend less time adjusting the messaging on your SharePoint sites and pages, and let the rich text editor give you suggestions to make your text more engaging.
Use natural language to create beautiful pages: Easily create visually appealing SharePoint pages. With Copilot, you can type in the kind of content you want to create, including the language, tone, and information, and it will do the work for you. You can also provide existing content―like a Word document or PowerPoint presentation―to Copilot, and it will transform that content into a beautiful page.
Copilot in SharePoint leverages all the features of the new SharePoint user experience designed to enable you to make more compelling, visually appealing content. With this capability, you can:
Apply branding and theming
Adjust typography and fonts
Create a grid and layout
Add videos and imagery
Use animations and motion
Using Copilot in SharePoint ensures your sites incorporate the newest design elements while staying true to your company brand.
Get started today
We are excited for you to begin using OneDrive and SharePoint features that are part of this next wave of Copilot innovation. You can experience many of these new capabilities that are rolling out today and preview others in the coming weeks.
Watch for the public preview of Copilot agents in SharePoint in early October.
Join Copilot agents and SharePoint product experts on October 16th for an exclusive Meet the Makers episode.
Copilot in OneDrive is rolling out now and will be fully available by the end of September.
Learn more at Microsoft OneDrive: AI Innovations for a New Era of Work and Home on October 8th.
Text rewrite capabilities of Copilot in SharePoint are rolling out now, with natural language page creation coming in early 2025.
Microsoft Tech Community – Latest Blogs –Read More
Python in Excel – Available Now
Combining the Power of Python and the Flexibility of Excel
Python in Excel is now generally available for Windows users of Microsoft 365 Business and Enterprise. Last August, in partnership with Anaconda, we introduced an exciting new addition to Excel by integrating Python, making it possible to seamlessly combine Python and Excel analytics within the same workbook, no setup required. Since then, we’ve brought the power of popular Python analytics libraries such as pandas, Matplotlib, and NLTK to countless Excel users.
Watch to learn more about Python in Excel:
“Seamless integration of Python data structures like pandas data frames and NumPy arrays in Excel is a total game changer. This expanded access to Python will create exciting new opportunities for innovation as well as making it even easier for business analysts and data scientists to collaborate.”
Wes McKinney, creator of pandas
With Python in Excel, users can harness advanced analytics for visualizations, data cleaning, machine learning, predictive analytics, and now, even more! Here are a few examples of what is possible, inspired by what our community of analysts is building within the Insiders Audience and internally at Microsoft.
Leverage predictive analytics
Advanced modeling capabilities in Python offer detailed and flexible optimization analysis – such as Monte Carlo simulations. These capabilities allow users to handle complex scenarios, providing deeper insights into their data.
Apply Monte Carlo simulations to project possible expenses.
Visualize network connections
NetworkX is a powerful tool for creating and analyzing complex networks, offering flexibility to model and visualize relationships between nodes effectively.
Use network models to view changes over time.
“Using Python in Excel has significantly streamlined my workflow… It has made complex data handling and visualization straightforward and efficient. The feature requires no setup, saving me significant time. The integration has made advanced data manipulation more accessible.”
Jack McCullogh, Principal Partner PM – Microsoft Business and Industry Copilots
Parse natural language
The NLTK and word cloud libraries in Python provide robust tools for text analysis and visualization. NLTK excels in natural language processing tasks, while word cloud generates visually engaging representations of textual data.
Extract and examine text to derive insights.
“Progressive analysts, who rely on data analytics for insights, could benefit by what we’ve seen with the latest advancements like Python in Excel. Excel’s integration with Copilot brings AI capabilities closer to where data currently resides—within our workbooks. Bringing all of this together with the ability to prompt in plain language could help analysts to leverage state-of-the-art analytics, such as advanced visualizations, allowing them to use just Excel and excel at their craft.”.
Pawan Divikarla, Business Leader, Progressive Insurance
Continuous Improvements
Modern editing
A great Python experience requires modern editing. This includes new features like syntax highlighting, code completion, and aid when referencing data with the xl() function – all of these have been added directly to the Formula Bar. Furthermore, we recently announced the Python Editor, a new surface that is a great companion for authoring code and leverages many of the same experiences found in Visual Studio Code.
Manage all your Python formulas from a single location.
Copilot in Excel with Python
Today we announced the public preview of Copilot in Excel with Python, which is designed to leverage AI to unlock the power of Python in Excel to a broader set of users. With Copilot, you can use natural language to describe the analysis you want to perform, and it will automatically generate, explain, and insert Python code into your Excel spreadsheet.
Dive deeper into your data with Copilot in Excel with Python, all without writing a single line of code.
“With a two sentence Copilot prompt, I was tickled to see Copilot in Excel write Python using RandomForestRegressor from sklearn module, which basically opened the world of machine learning to me. With working Python code in hand, I believe I can tune the parameters to achieve the desire output. When I had to learn Python before I could even start, I didn’t start.”
Mark Hodge, Microsoft 365 Global Blackbelt
Security is our priority
Python code used by Excel runs on the Microsoft Cloud with enterprise-level security as a compliant Microsoft 365 connected experience, just like OneDrive. The Python code runs in its own hypervisor isolated container using Azure Container Instances and secure, source-built packages from Anaconda through a secure software supply chain. Python in Excel keeps your data private by preventing the Python code from knowing who you are, and opening workbooks from the internet in further isolation within their own separate containers. Data from your workbooks can only be sent via the built-in xl() Python function, and the output of the Python code can only be returned as the result of the =PY() Excel function. The containers stay online as long as the workbook is open or until a timeout occurs. Your data does not persist in the Microsoft Cloud.
Learn more about our Data Security
Empowering Excel users
We believe there is a significant opportunity for anyone using Excel for analysis to greatly enhance their work with Python. Alongside incorporating numerous examples, tutorials, and tips into Excel, there are courses for Python in Excel on LinkedIn Learning. A new series, announced today, will be available for free for 30 days! After that time, it will be available to LinkedIn Premium or LinkedIn Learning subscribers.
Thank you for your feedback during Preview
We appreciate everyone who tested the feature, provided early feedback, identified issues, and created content during the initial rollout within the Insiders audience. Your assistance and feedback were crucial in getting us to our current version. We are inspired by what the community has built using Python in Excel already and are excited for even more users to now have access to this powerful feature.
We want your feedback!
Excel and Python users can give feedback directly within the application (go to Help > Feedback), suggest improvements on our Feedback portal, or engage with our team on GitHub.
Availability
Python in Excel is now generally available for Windows users of Microsoft 365 Business and Enterprise. With qualifying Microsoft 365 subscriptions, you can calculate Python formulas with standard compute and automatic recalculation mode. For faster calculations with premium compute and access to manual or partial recalculation modes, you must purchase the Python in Excel add-on license or request the license from your administrator.
To learn more about specific details on versions and channels, please see Python in Excel availability.
Other resources:
Introduction to Python in Excel
Getting started with Python in Excel
Learn Python in Excel with LinkedIn Learning
Microsoft Tech Community – Latest Blogs –Read More
Copilot pages for IT Admins – Sep 2024 update
Today we announced Copilot Pages, a first step in our new design system for knowledge work. Copilot Pages is a dynamic, persistent canvas in Copilot chat designed for multi-player collaboration. With Pages, you can turn insightful Copilot responses into something durable with a side-by-side page that you can edit and, when ready, share with your team to collaborate.
Copilot Pages starts rolling out today for Microsoft 365 Copilot users and soon for Microsoft 365 subscribers.
If you have a Microsoft 365 Copilot license, you and your team can work with Copilot directly on the page when you open it in full screen. In a multiplayer approach, prompt Copilot together as a team to improve and expand responses, learn from each other’s prompts, and organize complex information. With Copilot Pages, human to AI interactions come to life. We see collaborative prompting as the next great step forward in evolving Copilot from an individual, point-in-time exercise into a collaborative experience.
This update is to help IT Admins understand how Copilot Pages work and what it means for their organization. Copilot Pages are .loop files.
Who gets Copilot Pages?
Users with access to Microsoft 365 Copilot will be able to create Copilot Pages, and soon users with access to Microsoft Copilot our free commercial Copilot product will also be able to create pages
Copilot Pages are files that users can extend permissions to others using your organizations file sharing settings. If you need to further limit interaction with .loop files, use Conditional Access. Conditional Access can fully block users from opening the .loop file.
What is created when a user creates a Copilot Page?
A Copilot Page comes to life in your files ecosystem as a .loop file in a new user-owned SharePoint Embedded container. There are two main concepts to Loop: files and containers.
Files: Loop pages and components are .loop files. Copilot Pages are displayed to the right of a Copilot Business Chat. When shared as a component they are displayed as little interactive boxes in Microsoft 365 apps (this is how Loop components work). IT admins manage these .loop files just like any other files (.docx, .pptx, .xlsx, etc.). They support all the features of the SharePoint file system, including everything detailed here.
Containers: Copilot Pages are stored in a new user-owned SharePoint Embedded container, one per user. All content that Loop stores in SharePoint Embedded containers count against the tenant’s SharePoint quota. All your governance and compliance processes apply the same way they would to a user’s OneDrive. Management and graph APIs for these containers will soon be accessible to tools like AvePoint, ShareGate, your in-house tooling, and others.
IT Admin controls
Copilot Pages are rolling out to M365 Copilot users today and soon for M365 subscribers. Because they are .loop files, you can control them using Loop admin switches. Note that disabling Loop in your tenant does not disable Copilot Pages. We added a new switch specifically for Copilot Pages to ensure they’re easily controlled in your organization.
Copilot Pages are default enabled in your tenant (like all Loop integrations). The diagram shows the existing controls and highlights the new Copilot Pages control:
This article covers the Cloud Policy controls for all Loop components, but we’ll cover the “B” cloud policy explicitly here.
B: Create and view Loop files in Microsoft 365 Copilot Chat (Not Configured == Enabled) | To change the default configuration for Copilot Pages, follow these instructions:
Sign in to https://config.office.com/ with your Microsoft 365 admin credentials.
Select Customization from the left pane.
Select Policy Management.
Create a new policy configuration or edit an existing one.
From the Choose the scope dropdown list, choose either All users or select the group for which you want to apply the policy. For more information, See Microsoft 365 Groups for Cloud Policy.
In Configure Settings, choose this setting: For Create and view Loop files in Microsoft 365 Copilot Chat:
Enabled: Copilot chat experience is available to the users.
Disabled: Copilot chat experience isn’t available to the users.
Not configured: Copilot chat experience is available to the users. Save the policy configuration. Reassign priority for any security group, if required. (If two or more policy configurations are applicable to the same set of users, the one with the higher priority is applied.)
Save the policy configuration.
Reassign priority for any security group, if required. (If two or more policy configurations are applicable to the same set of users, the one with the higher priority is applied.)
In case you create a new policy configuration, or change the configuration for an existing policy, there can be a delay in the change being reflected as described below:
If there were existing policy configurations prior to the change, then it may take 90 mins for the change to be reflected.
If there were no policy configurations prior to the change, then it may take 24 hours for the change to be reflected.
Manage Pages content
All Copilot Pages support the capabilities listed here. In summary, that includes admin toggles, GDPR and EUDB compliance, Intune device management, Conditional Access policies, Information Barriers, Customer Lockbox, individual file recycle bin, version history, audit logs, eDiscovery, export, legal hold, retention policies, sensitivity labels, and data loss prevention.
For many organizations, these capabilities are more than enough for the default Enabled state of Loop experiences. For larger organizations with advanced governance, sharing, and management tools, the following additional capabilities coming in Q4 CY2024 may be of interest to IT Admins:
Retention labels at the file level
Programmatic API access to content in SharePoint Embedded containers (enables third-party Governance, Management, and Compliance tools)
Guest/external access via Entra B2B config for tenants with sensitivity labels
SharePoint Admin Center columns to identify user-owned containers
New user-owned storage containers
The diagram illustrates where Copilot Pages are saved, in a new user-owned SharePoint Embedded container. This content is lifetime-managed with the user account and is deleted when the user account is deleted from the organization. There is a default timeline where it is first soft deleted (can be recovered by an IT Admin) and then purged.
Similarly, when a user leaves, there is an IT Admin workflow to enable access to these containers before deletion so that valuable content can be copied to new locations. The capability to see another user’s Copilot Pages in the Loop app that were assigned before deletion is scheduled for Q4 CY2024.
User-owned containers will be identifiable in the SharePoint Admin Center by two new columns: Principal Owner and Ownership Type. Principal owner will be set to the username when the container is user-owned. And Ownership Type will be User.
Quota
All use of SharePoint Embedded storage counts against your tenant’s SharePoint quota. This is documented here.
Purview and Compliance
There are several compliance and manageability capabilities built into the SharePoint platform that Loop fully supports. Please see this learn article for an inventory. In the next sections, we’ll summarize the top areas we get questions about.
Legal Hold, eDiscovery, and export
Because .loop files are just like all the other files in your SharePoint ecosystem, Purview understands them and supports them natively with very little change. You can place SharePoint Embedded containers on legal hold using the URL to the container just like placing a SharePoint site on hold. You can search for content to place on hold using full text search in Purview. You can export the content in a review set that includes .loop files and automatically convert to .html for offline readable format using Purview Premium.
If you use third-party tools for eDiscovery or export for compliance, programmatic API access to content in SharePoint Embedded containers is coming in Q4 CY2024
Multi-Geo
The user-owned SharePoint Embedded container that holds Copilot Pages is created in the user’s preferred data location.
Sensitivity Labels and Data Loss Prevention
Two ways to control over sharing in your organization are fully supported in .loop files. The first is sensitivity labeling, which you can configure per Copilot page. And, if Copilot finds content that has a source label higher than the page, when adding it onto the page by pressing “Edit in Page,” it will automatically upgrade the sensitivity label. Sensitivity Labels can control things like external sharing rights, encryption of data, and more.
The second is data loss prevention, a security conscious scanner that detects very sensitive information and immediately blocks all sharing and triggers the owner of the file to remove it before full collaboration can be restored.
Audit
Because all .loop files are stored in the SharePoint ecosystem, full audit activity is available in the unified audit log that SharePoint events are already part of. Creates, updates, reads and deletes are all logged with attribution.
Governance Tooling
Governance of a user-owned container is a lot simpler than shared content like an M365 group or a SharePoint site, or even a shared Loop workspace, since it is typically lifetime managed with the user account and no additional regular governance is required. However, if you use third-party tools for governing user-owned containers, programmatic API access to content in SharePoint Embedded containers is coming in Q4 CY2024.
We hope this summary leaves you feeling confident about Copilot Pages in your organization.
Microsoft Tech Community – Latest Blogs –Read More
Major updates to the Copilot Success Kit
As we continue our journey to empowering you and your organization with AI experiences, we are thrilled to announce several significant updates to the Copilot Success Kit.
The Copilot Success Kit is designed to:
Accelerate your time to value with Microsoft 365 Copilot.
Enable your progressive skilling journey with AI tools.
These updates are part of our ongoing commitment to support our community and ensure you have access to the latest resources and guidance.
New content and features
The Implementation Summary Guide for Leaders has been updated to provide clearer guidance on the three essentials for Copilot success: Leadership, human change, and technical readiness.
The User Enablement Guide has been updated to include guidance on leveraging Microsoft Viva to drive healthy usage and user satisfaction. This comprehensive guide provides detailed instructions and best practices for enabling users to adopt and embrace AI capabilities.
The Technical Readiness Guide has been refreshed with updated Microsoft Copilot Studio and App Assure guidance. This guide focuses on the technical readiness aspects of implementing Copilot and provides valuable insights to ensure your organization is ready to leverage AI effectively.
The Accelerate Copilot with Microsoft Viva guide demonstrates how features and functions across the Viva Suite can accelerate your implementation of Copilot. This includes updated training content and user onboarding toolkits, designed to empower your workforce and drive successful AI usage.
The Use Microsoft Viva Amplify for your Copilot rollout guide provides examples of how Microsoft Digital, our IT organization who empowers our workforce, used Viva Amplify to implement Copilot in our organization. Learn from our experiences and best practices.
Delivering business results with Microsoft 365 Copilot helps you understand the crucial role of functional business leaders in driving successful AI adoption in your organization and provides specific guidance on how to engage them in your AI transformation journey.
Scenario Library enhancements: We have added new industry and functional use cases to the online, interactive Scenario Library. This update also includes Subject Matter Expert videos that showcase new value in various applications such as Word, Excel, and PowerPoint. These videos are designed to help you understand how to leverage Copilot in different scenarios and maximize its potential.
The Get Started with Microsoft 365 Copilot in Excel guide, included in the Trainer Kit within the Success Kit, provides practical examples for both new and power users of Excel.
Upcoming events and training
To support your adoption efforts, we are hosting a series of events and training sessions in the coming weeks and months. Watch our Copilot Adoption Hub and Microsoft Community Learning channel for more information.
We are excited to provide these guides and based on customer feedback believe they will enhance your experience with Copilot. Stay tuned for more information and be sure to join our upcoming events to learn more about how you can leverage these new resources to drive success in your organization. Comment below and in our community to give your feedback on how we can continue to improve our resources to support your journey.
Download the kit and more adoption resources on our Copilot Adoption Hub at https://adoption.microsoft.com/copilot.
Microsoft Tech Community – Latest Blogs –Read More
Enhanced data protection with Windows and Microsoft Copilot
As generative AI usage continues to surge and become an integral part of daily workflows, organizations are prioritizing privacy and security—and we continue to evolve Copilot experiences in Windows to address these needs. Starting later this month, for organizations with managed PCs running the Pro or Enterprise edition of Windows[1], users signing in with a work or school account will receive an updated experience.
In this post, we’ll dive into:
Improvements to privacy and security
Upcoming changes to the user experience
How to manage these changes in your organization
Commitment to security
Windows 11 plays an important role in your Zero Trust strategy. So does Microsoft Copilot. We’re ramping up data protection to help you advance your security goals while ensuring employees have seamless access to the AI productivity tools they need to stay ahead of the curve.
Microsoft Copilot will offer enterprise data protection for users signed in with an Entra account. This is a significant step in strengthening data protection for Microsoft Copilot as the enhanced security, privacy, and compliance controls and commitments available for Microsoft 365 Copilot will now extend to Microsoft Copilot prompts and responses. If you were hesitant about adopting Copilot for your work needs, now is the time to consider integrating it into your organization.
When Microsoft Copilot updates to enterprise data protection (EDP), commercial data protection (CDP) will no longer apply. EDP is offered at no additional cost when a user signs in with an Entra account and does not require additional action from IT to activate. Additionally, both the in-app and browser experiences for Copilot will shift to an ad-free user interface to minimize disruptions.
Easy access for optimal productivity
Windows 11 Pro and Enterprise have been designed to meet the productivity, security, and manageability requirements of organizations—and we’re applying the same approach to Microsoft Copilot*. Windows 11, together with Microsoft 365 apps, delivers the best experience for employees to work more efficiently and maximize productivity and creativity with Microsoft Copilot.
With updates coming soon to managed PCs, users with work or school accounts can easily access Microsoft Copilot through the Microsoft 365 app if they or their admin have elected to pin Copilot in the Microsoft 365 app. The Microsoft 365 app comes pre-installed on all Windows PCs. This app can be uninstalled or reinstalled from the Microsoft Store and pinned to the taskbar or Start menu as desired.
The Microsoft 365 app simplifies access to Copilot, enabling people to create, share, and collaborate in one place alongside their favorite Microsoft 365 apps, such as Word, Excel, and PowerPoint. For commercial organizations, Microsoft will prioritize future Copilot developments on the experience in the Microsoft 365 app, instead of Copilot in Windows.
Accessing Microsoft Copilot within the Microsoft 365 app is available at no additional cost for users with an Entra account. Copilot chat within the app is grounded in information from the web and does not access organizational resources or content, such as business apps, email, or other data that resides in a tenant boundary. The same web-based chat experience is available via a user’s default browser when accessing microsoft.com/copilot with an Entra account.
If you have the add-on Microsoft 365 Copilot license, you will have access to both web and work modes in chat, with the option to toggle between the two. The work experience is an AI chat experience grounded in work data inside a tenant boundary. It provides the added benefits of Microsoft Graph-bound chat capabilities and the ability to search across meetings, email, files, and more.
When will this happen?
The update to Microsoft Copilot to offer enterprise data protection is rolling out now.
The shift to the Microsoft 365 app as the entry point for Microsoft Copilot will align with the annual Windows 11 feature update release. Changes will be rolled out to managed PCs starting with the optional non-security preview release on September 24, 2024, and following with the monthly security update release on October 8 for all supported versions of Windows 11. These changes will be applied to Windows 10 PCs the month after. This update is replacing the current Copilot in Windows experience.
Want to get started? You can enable the Microsoft Copilot experience for your users now by using the TurnOffWindowsCopilot policy and pinning the Microsoft 365 app using the existing policies for Taskbar pinning.
Things to consider for IT
Copilot innovations are designed to help everyone, including IT professionals. We want to emphasize that we will continue to offer controls so you can seamlessly manage AI experiences and adopt them for your organization at your own pace.
If you decide to enable Microsoft Copilot for your users, it will appear in the Microsoft 365 app starting mid-September. The option to pin Copilot to the navigation bar within the Microsoft 365 app can be found under Settings on the Copilot page in the Microsoft 365 admin center.
If you do not select to enable Copilot, you can decide whether users will be prompted to pin and enable Microsoft Copilot themselves within the Microsoft 365 app.
If Copilot is pinned, it will be prominently accessible in the Microsoft 365 app as seen in the screenshot above. For more information, see Pin Microsoft Copilot to the navigation bar.
Thank you for joining us on this journey!
Thank you for joining us on this journey! To enable easy access to Copilot for employees, pin the Microsoft 365 app to the taskbar and pin Microsoft Copilot within the Microsoft 365 app.
For more information on managing Microsoft Copilot experiences in Windows, see Manage Copilot in Windows. If you previously enabled Copilot in Windows or the Copilot app in your organization, we recommend that you read through this documentation as it contains critical information to help you manage the changes.
To learn more about other Copilot innovations for work that were announced today, please watch today’s Microsoft 365 Copilot: Wave 2 event and see the Microsoft 365 Copilot Wave 2: Pages, Python in Excel, and agents.
Continue the conversation. Find best practices. Bookmark the Windows Tech Community, then follow us @MSWindowsITPro on X and on LinkedIn. Looking for support? Visit Windows on Microsoft Q&A.
[1] This blog only covers the Windows and Copilot integration for organizations that use work or school accounts to log in to Windows. It does not apply to how people with a Microsoft Account (MSA) use Microsoft Copilot.
Microsoft Tech Community – Latest Blogs –Read More
Announcing Copilot Pages for multiplayer collaboration
Today we announced Copilot Pages, the first step in our new design system for knowledge work. Copilot Pages is a dynamic, persistent canvas in Copilot chat designed for multiplayer AI collaboration. With Pages, you can turn insightful Copilot responses into something durable with a side-by-side page that you can edit and, when ready, share with your team to collaborate. Copilot Pages starts rolling out today for Microsoft 365 Copilot users and soon for all other Microsoft 365 subscribers.
If you have a Microsoft 365 Copilot license, you and your team can work with Copilot directly on the page when you open it in full screen. In a multiplayer approach, prompt Copilot together as a team to improve and expand responses, learn from each other’s prompts, and organize complex information. With Copilot Pages, human to AI interactions come to life. We see collaborative prompting as the next great step forward in evolving Copilot from an individual, point-in-time exercise into a collaborative experience.
Here’s how you can use Copilot Pages.
Access Copilot at Microsoft.com/Copilot. If you have an M365 Copilot license, you can also access Copilot in Teams and Outlook.
Chat with Copilot as you usually would. Once you receive a response you’d like to keep, click ‘Edit in Pages’. This will create a page and open it side-by-side the chat with the response already copied and formatted, including link previews and code blocks. A reference to the page will automatically be added in the chat.
Add and refine. You can continue your conversation in chat. Clicking ‘Edit in Pages’ will add subsequent responses to the bottom of the page. Everything on the page is editable – just click on the page and start typing. Pro tip: type “/” to view a menu of content types that you can use.
Share and collaborate. When you are ready, you can share your page with others who will be able to collaborate on it with you. People you share with will have access to the page and its content, not your Copilot session. If you and your team have a Microsoft 365 Copilot license, you can view the page in full screen to use Copilot directly within the page, adding to each other’s prompts and collaborating on a final output. Pro tip: Click the share icon in the upper right and select “Copy component” to surface the page in a fully interactive way when you paste it in Teams or Outlook.
Access your pages. Return to your page at any time by clicking the link in the chat where you first created the page or by opening the Pages tab in Microsoft365.com, where you will see all the Pages that you previously created.
Key Features
Persistent: Copilot Pages takes ephemeral AI-generated content and makes it durable, allowing you to edit and add to it.
Shareable: Any page you create can be shared as a dynamic, collaborative element in your Teams chats and channels, Outlook emails and meetings, or in the Pages module in the Microsoft M365 app.
Multiplayer: Work collaboratively with your teammates. See everyone’s work in real time and iterate on Copilot prompts as a team if you have a Microsoft 365 Copilot license.
Here is a short animation will show you how the feature works:
Copilot Pages start rolling out today for Microsoft 365 Copilot customers, check out the experience at Microsoft.com/Copilot.
Microsoft Tech Community – Latest Blogs –Read More
I have a question relate to Gauss seidel method
Implement the Gauss-Seidel method for solving a system of linear equations from scratch in MATLAB and walk me through your thought process in constructing the code. Additionally, demonstrate that your implementation works by applying it to the following system. 2x +3y −z =7 , x −2y+4z =1 , 3x +y+2z =8
%Gauss seidel
A=input(‘Enter a co-efficient matrix A: ‘);
B=input(‘Enter source vector B: ‘);
P=input(‘Enter initial guess vector: ‘);
n=input(‘Enter number of iterations: ‘);
e=input(‘Enter tolerance: ‘);
N=length(B);
X=zeros(N,1);
Y=zeros(N,1); %for stopping criteria
for j=1:n
for i=1:N
x(i)=(B(i)/A(i,i))-(A(i,[1:i-1,i+1:N])*P([1:i-1,i+1:N]))/A(i,i);
P(i)=X(i);
end
fprintf(‘Iterations no %d n’ ,j)
X
if abs (Y-X)<e
break
end
Y=X;
end
This is my code is this correct? please help meImplement the Gauss-Seidel method for solving a system of linear equations from scratch in MATLAB and walk me through your thought process in constructing the code. Additionally, demonstrate that your implementation works by applying it to the following system. 2x +3y −z =7 , x −2y+4z =1 , 3x +y+2z =8
%Gauss seidel
A=input(‘Enter a co-efficient matrix A: ‘);
B=input(‘Enter source vector B: ‘);
P=input(‘Enter initial guess vector: ‘);
n=input(‘Enter number of iterations: ‘);
e=input(‘Enter tolerance: ‘);
N=length(B);
X=zeros(N,1);
Y=zeros(N,1); %for stopping criteria
for j=1:n
for i=1:N
x(i)=(B(i)/A(i,i))-(A(i,[1:i-1,i+1:N])*P([1:i-1,i+1:N]))/A(i,i);
P(i)=X(i);
end
fprintf(‘Iterations no %d n’ ,j)
X
if abs (Y-X)<e
break
end
Y=X;
end
This is my code is this correct? please help me Implement the Gauss-Seidel method for solving a system of linear equations from scratch in MATLAB and walk me through your thought process in constructing the code. Additionally, demonstrate that your implementation works by applying it to the following system. 2x +3y −z =7 , x −2y+4z =1 , 3x +y+2z =8
%Gauss seidel
A=input(‘Enter a co-efficient matrix A: ‘);
B=input(‘Enter source vector B: ‘);
P=input(‘Enter initial guess vector: ‘);
n=input(‘Enter number of iterations: ‘);
e=input(‘Enter tolerance: ‘);
N=length(B);
X=zeros(N,1);
Y=zeros(N,1); %for stopping criteria
for j=1:n
for i=1:N
x(i)=(B(i)/A(i,i))-(A(i,[1:i-1,i+1:N])*P([1:i-1,i+1:N]))/A(i,i);
P(i)=X(i);
end
fprintf(‘Iterations no %d n’ ,j)
X
if abs (Y-X)<e
break
end
Y=X;
end
This is my code is this correct? please help me @wantquickhelp MATLAB Answers — New Questions
In a table, when I try assigning a value to a new column based on some criteria, I get error that “assignment to elements using simple assignment statement is not supported”
I have a table for which I create an index where the values in a particular column are not NaN. I then try to use this index to create an entry into a new array and replace the values at the corresponding index (preloaded with ‘0000’) with ‘0001’. I will then add this array to the table as a new column.
My intention is to fill the corresponding indx in the column with ‘0001’, if the value in the newTable.PEM1_GA_Current_Estimate_Error a valid number (not NaN).
PEM1b =’0001′;
PEM2b =’0010′;
PEM3b = ‘0100’;
PEM4 = ‘1000’;
temp={};
indx=(find(newTable.PEM1_GA_Current_Estimate_Error ~= NaN))
temp ={repmat(‘0000’,size(newTable,1),1)}
temp{indx} = PEM1b
%…and add this array as a new column to the table
the last assigment in the code above generates this error:
Assigning to 2609 elements using a simple assignment statement is not supported. Consider using comma-separated list assignment.
I don’t think I should need a for loop to iterate through each row and replace the value at the "indx" location –what am I doing wrong?
I included the data….thank you.I have a table for which I create an index where the values in a particular column are not NaN. I then try to use this index to create an entry into a new array and replace the values at the corresponding index (preloaded with ‘0000’) with ‘0001’. I will then add this array to the table as a new column.
My intention is to fill the corresponding indx in the column with ‘0001’, if the value in the newTable.PEM1_GA_Current_Estimate_Error a valid number (not NaN).
PEM1b =’0001′;
PEM2b =’0010′;
PEM3b = ‘0100’;
PEM4 = ‘1000’;
temp={};
indx=(find(newTable.PEM1_GA_Current_Estimate_Error ~= NaN))
temp ={repmat(‘0000’,size(newTable,1),1)}
temp{indx} = PEM1b
%…and add this array as a new column to the table
the last assigment in the code above generates this error:
Assigning to 2609 elements using a simple assignment statement is not supported. Consider using comma-separated list assignment.
I don’t think I should need a for loop to iterate through each row and replace the value at the "indx" location –what am I doing wrong?
I included the data….thank you. I have a table for which I create an index where the values in a particular column are not NaN. I then try to use this index to create an entry into a new array and replace the values at the corresponding index (preloaded with ‘0000’) with ‘0001’. I will then add this array to the table as a new column.
My intention is to fill the corresponding indx in the column with ‘0001’, if the value in the newTable.PEM1_GA_Current_Estimate_Error a valid number (not NaN).
PEM1b =’0001′;
PEM2b =’0010′;
PEM3b = ‘0100’;
PEM4 = ‘1000’;
temp={};
indx=(find(newTable.PEM1_GA_Current_Estimate_Error ~= NaN))
temp ={repmat(‘0000’,size(newTable,1),1)}
temp{indx} = PEM1b
%…and add this array as a new column to the table
the last assigment in the code above generates this error:
Assigning to 2609 elements using a simple assignment statement is not supported. Consider using comma-separated list assignment.
I don’t think I should need a for loop to iterate through each row and replace the value at the "indx" location –what am I doing wrong?
I included the data….thank you. cell array, indexing MATLAB Answers — New Questions
i get black image danoise when the simulation finish what is the problem in the code ?
clc
clear all
close all
image_org=imread(‘C:UserspcOneDriveDesktopmemoirechapitre 3image for test’,’JPG’);
% Gaussian white noise
X = double(image_org) / 255;
NG = imnoise(X, ‘gaussian’, 0, 0.01);%NG=gaussian noise
figure(1);subplot(231); imshow(image_org);title (‘image org’)
subplot(233); imshow(NG) ; title (‘Gaussian additive noise’)
NG_gray = rgb2gray(NG);
%averaging filter
f_m = fspecial (‘average’, 3)%f_m=averaging filter
NGmoy = imfilter (NG, f_m,’replicate’);
%gaussian filter
f_g = fspecial (‘gaussian’,3,0.8)%f_g=gaussian filter
NGg = imfilter(NG,f_g,’replicate’);
%median filter
NGmed = medfilt2( NG_gray ,[3 3]);
%the show
subplot(234); imshow(NGmoy);title(‘ avraging Filter ‘)
subplot(235); imshow(NGg);title(‘ gaussien Filtre ‘)
subplot(236); imshow(NGmed);title(‘ median Filtre’)
%PSNR
EQMb=mean2((X-NG).^2 );PSNRb=-10*log10(EQMb);
EQMmoy=mean2( (NG-NGmoy).^2 );PSNRmoy=-10*log10(EQMmoy);
EQMg=mean2( (NG-NGg).^2 );PSNRg=-10*log10(EQMg);
EQMmed=mean2( (NG_gray-NGmed).^2 );PSNRmed=-10*log10(EQMmed);
% Resize the original image to match the input size of the CNN
image_resized = imresize(image_org, [299 450]);
% Add Gaussian noise to the original image
X = double(image_resized) / 255;
NG = imnoise(X, ‘gaussian’, 0, 0.03); % Add Gaussian noise
% Display the original and noisy images
figure(1);
subplot(1, 2, 1);
imshow(image_resized);
title(‘Original Image’);
subplot(1, 2, 2);
imshow(NG);
title(‘Noisy Image’);
% Prepare data for training (noisy images as input, original images as target)
inputData = NG; % Noisy images
targetData = X; % Original clean images
% Define the CNN architecture for image denoising
layers = [
imageInputLayer([299 450 3]) % Input layer with the size of the input images
convolution2dLayer(3, 64, ‘Padding’, ‘same’) % Convolutional layer with 64 filters of size 3×3
reluLayer % ReLU activation layer
convolution2dLayer(3, 64, ‘Padding’, ‘same’) % Another convolutional layer
reluLayer % ReLU activation layer
convolution2dLayer(3, 3, ‘Padding’, ‘same’) % Output convolutional layer with 3 channels (RGB)
regressionLayer % Regression layer
];
% Define training options
options = trainingOptions(‘adam’, … % Adam optimizer
‘MaxEpochs’, 50, … % Increase the number of epochs
‘MiniBatchSize’, 16, … % Decrease the mini-batch size
‘InitialLearnRate’, 1e-4, … % Decrease the initial learning rate
‘Plots’, ‘training-progress’); % Plot training progress
% Train the network
net = trainNetwork(inputData, targetData, layers, options);
% Denoise the image using the trained CNN
denoisedImage = predict(net, inputData);
% Display the original noisy image and the denoised image
figure;
subplot(1, 2, 1);
imshow(inputData);
title(‘Noisy Image’);
subplot(1, 2, 2);
imshow(denoisedImage);
title(‘Denoised Image’);clc
clear all
close all
image_org=imread(‘C:UserspcOneDriveDesktopmemoirechapitre 3image for test’,’JPG’);
% Gaussian white noise
X = double(image_org) / 255;
NG = imnoise(X, ‘gaussian’, 0, 0.01);%NG=gaussian noise
figure(1);subplot(231); imshow(image_org);title (‘image org’)
subplot(233); imshow(NG) ; title (‘Gaussian additive noise’)
NG_gray = rgb2gray(NG);
%averaging filter
f_m = fspecial (‘average’, 3)%f_m=averaging filter
NGmoy = imfilter (NG, f_m,’replicate’);
%gaussian filter
f_g = fspecial (‘gaussian’,3,0.8)%f_g=gaussian filter
NGg = imfilter(NG,f_g,’replicate’);
%median filter
NGmed = medfilt2( NG_gray ,[3 3]);
%the show
subplot(234); imshow(NGmoy);title(‘ avraging Filter ‘)
subplot(235); imshow(NGg);title(‘ gaussien Filtre ‘)
subplot(236); imshow(NGmed);title(‘ median Filtre’)
%PSNR
EQMb=mean2((X-NG).^2 );PSNRb=-10*log10(EQMb);
EQMmoy=mean2( (NG-NGmoy).^2 );PSNRmoy=-10*log10(EQMmoy);
EQMg=mean2( (NG-NGg).^2 );PSNRg=-10*log10(EQMg);
EQMmed=mean2( (NG_gray-NGmed).^2 );PSNRmed=-10*log10(EQMmed);
% Resize the original image to match the input size of the CNN
image_resized = imresize(image_org, [299 450]);
% Add Gaussian noise to the original image
X = double(image_resized) / 255;
NG = imnoise(X, ‘gaussian’, 0, 0.03); % Add Gaussian noise
% Display the original and noisy images
figure(1);
subplot(1, 2, 1);
imshow(image_resized);
title(‘Original Image’);
subplot(1, 2, 2);
imshow(NG);
title(‘Noisy Image’);
% Prepare data for training (noisy images as input, original images as target)
inputData = NG; % Noisy images
targetData = X; % Original clean images
% Define the CNN architecture for image denoising
layers = [
imageInputLayer([299 450 3]) % Input layer with the size of the input images
convolution2dLayer(3, 64, ‘Padding’, ‘same’) % Convolutional layer with 64 filters of size 3×3
reluLayer % ReLU activation layer
convolution2dLayer(3, 64, ‘Padding’, ‘same’) % Another convolutional layer
reluLayer % ReLU activation layer
convolution2dLayer(3, 3, ‘Padding’, ‘same’) % Output convolutional layer with 3 channels (RGB)
regressionLayer % Regression layer
];
% Define training options
options = trainingOptions(‘adam’, … % Adam optimizer
‘MaxEpochs’, 50, … % Increase the number of epochs
‘MiniBatchSize’, 16, … % Decrease the mini-batch size
‘InitialLearnRate’, 1e-4, … % Decrease the initial learning rate
‘Plots’, ‘training-progress’); % Plot training progress
% Train the network
net = trainNetwork(inputData, targetData, layers, options);
% Denoise the image using the trained CNN
denoisedImage = predict(net, inputData);
% Display the original noisy image and the denoised image
figure;
subplot(1, 2, 1);
imshow(inputData);
title(‘Noisy Image’);
subplot(1, 2, 2);
imshow(denoisedImage);
title(‘Denoised Image’); clc
clear all
close all
image_org=imread(‘C:UserspcOneDriveDesktopmemoirechapitre 3image for test’,’JPG’);
% Gaussian white noise
X = double(image_org) / 255;
NG = imnoise(X, ‘gaussian’, 0, 0.01);%NG=gaussian noise
figure(1);subplot(231); imshow(image_org);title (‘image org’)
subplot(233); imshow(NG) ; title (‘Gaussian additive noise’)
NG_gray = rgb2gray(NG);
%averaging filter
f_m = fspecial (‘average’, 3)%f_m=averaging filter
NGmoy = imfilter (NG, f_m,’replicate’);
%gaussian filter
f_g = fspecial (‘gaussian’,3,0.8)%f_g=gaussian filter
NGg = imfilter(NG,f_g,’replicate’);
%median filter
NGmed = medfilt2( NG_gray ,[3 3]);
%the show
subplot(234); imshow(NGmoy);title(‘ avraging Filter ‘)
subplot(235); imshow(NGg);title(‘ gaussien Filtre ‘)
subplot(236); imshow(NGmed);title(‘ median Filtre’)
%PSNR
EQMb=mean2((X-NG).^2 );PSNRb=-10*log10(EQMb);
EQMmoy=mean2( (NG-NGmoy).^2 );PSNRmoy=-10*log10(EQMmoy);
EQMg=mean2( (NG-NGg).^2 );PSNRg=-10*log10(EQMg);
EQMmed=mean2( (NG_gray-NGmed).^2 );PSNRmed=-10*log10(EQMmed);
% Resize the original image to match the input size of the CNN
image_resized = imresize(image_org, [299 450]);
% Add Gaussian noise to the original image
X = double(image_resized) / 255;
NG = imnoise(X, ‘gaussian’, 0, 0.03); % Add Gaussian noise
% Display the original and noisy images
figure(1);
subplot(1, 2, 1);
imshow(image_resized);
title(‘Original Image’);
subplot(1, 2, 2);
imshow(NG);
title(‘Noisy Image’);
% Prepare data for training (noisy images as input, original images as target)
inputData = NG; % Noisy images
targetData = X; % Original clean images
% Define the CNN architecture for image denoising
layers = [
imageInputLayer([299 450 3]) % Input layer with the size of the input images
convolution2dLayer(3, 64, ‘Padding’, ‘same’) % Convolutional layer with 64 filters of size 3×3
reluLayer % ReLU activation layer
convolution2dLayer(3, 64, ‘Padding’, ‘same’) % Another convolutional layer
reluLayer % ReLU activation layer
convolution2dLayer(3, 3, ‘Padding’, ‘same’) % Output convolutional layer with 3 channels (RGB)
regressionLayer % Regression layer
];
% Define training options
options = trainingOptions(‘adam’, … % Adam optimizer
‘MaxEpochs’, 50, … % Increase the number of epochs
‘MiniBatchSize’, 16, … % Decrease the mini-batch size
‘InitialLearnRate’, 1e-4, … % Decrease the initial learning rate
‘Plots’, ‘training-progress’); % Plot training progress
% Train the network
net = trainNetwork(inputData, targetData, layers, options);
% Denoise the image using the trained CNN
denoisedImage = predict(net, inputData);
% Display the original noisy image and the denoised image
figure;
subplot(1, 2, 1);
imshow(inputData);
title(‘Noisy Image’);
subplot(1, 2, 2);
imshow(denoisedImage);
title(‘Denoised Image’); deep learning, neural network MATLAB Answers — New Questions
Combining text with non-zero elements of a 2D array
I have a numerical array that is "almost" diagonal, so it looks like this:
N=[10 0 0 0 0; 0 20 0 0 0; 10 0 20 0 0; 0 0 0 10 0; 0 0 0 0 30]
I also have a cell array with the same number of rows, which looks like this:
C={‘ABC’;’DEF’;’GHI’;’JKL’;’MNO’}
I would like to create a row array that takes the non-zero values of N, and combines them with the text in C to give an output like this:
CN={‘ABC10_GHI10’ ‘DEF20’ ‘GHI10’ ‘JKL10’ ‘MNO30’}
In other words, it must combine all the non-zero values of each column with text of respective indices.I have a numerical array that is "almost" diagonal, so it looks like this:
N=[10 0 0 0 0; 0 20 0 0 0; 10 0 20 0 0; 0 0 0 10 0; 0 0 0 0 30]
I also have a cell array with the same number of rows, which looks like this:
C={‘ABC’;’DEF’;’GHI’;’JKL’;’MNO’}
I would like to create a row array that takes the non-zero values of N, and combines them with the text in C to give an output like this:
CN={‘ABC10_GHI10’ ‘DEF20’ ‘GHI10’ ‘JKL10’ ‘MNO30’}
In other words, it must combine all the non-zero values of each column with text of respective indices. I have a numerical array that is "almost" diagonal, so it looks like this:
N=[10 0 0 0 0; 0 20 0 0 0; 10 0 20 0 0; 0 0 0 10 0; 0 0 0 0 30]
I also have a cell array with the same number of rows, which looks like this:
C={‘ABC’;’DEF’;’GHI’;’JKL’;’MNO’}
I would like to create a row array that takes the non-zero values of N, and combines them with the text in C to give an output like this:
CN={‘ABC10_GHI10’ ‘DEF20’ ‘GHI10’ ‘JKL10’ ‘MNO30’}
In other words, it must combine all the non-zero values of each column with text of respective indices. cell arrays, combining text and numericals, non-zero element, find MATLAB Answers — New Questions
How to use PID controller
I have a control loop such that:
The loop starts by calculating the error between the desired and measured temperature.
The relay block turns the heating system on or off based on this error, with a hysteresis of ±5 degrees to prevent frequent switching.
The output from the relay (on/off signal) is passed through a transfer function to simulate the dynamics of the system (introducing a delay or lag in the heating response).
The scaled output from the transfer function (now a power signal) is converted into a physical signal.
Finally, the physical signal controls the heat source, which in turn affects the system’s temperature.
I want to use PID controller block instead of this, how can I achieve that?I have a control loop such that:
The loop starts by calculating the error between the desired and measured temperature.
The relay block turns the heating system on or off based on this error, with a hysteresis of ±5 degrees to prevent frequent switching.
The output from the relay (on/off signal) is passed through a transfer function to simulate the dynamics of the system (introducing a delay or lag in the heating response).
The scaled output from the transfer function (now a power signal) is converted into a physical signal.
Finally, the physical signal controls the heat source, which in turn affects the system’s temperature.
I want to use PID controller block instead of this, how can I achieve that? I have a control loop such that:
The loop starts by calculating the error between the desired and measured temperature.
The relay block turns the heating system on or off based on this error, with a hysteresis of ±5 degrees to prevent frequent switching.
The output from the relay (on/off signal) is passed through a transfer function to simulate the dynamics of the system (introducing a delay or lag in the heating response).
The scaled output from the transfer function (now a power signal) is converted into a physical signal.
Finally, the physical signal controls the heat source, which in turn affects the system’s temperature.
I want to use PID controller block instead of this, how can I achieve that? simulink, pid, simscape MATLAB Answers — New Questions
Defender for SQL for on-prem Azure Arc connected SQL servers
I am having trouble using the Azure Built-In policy “Configure Arc-enabled SQL Servers with DCR Association to Microsoft Defender for SQL user-defined DCR”. I would assume a newly created DCR would work just fine, but I am unsure as when I use the policy that will automatically create a DCR and LA workspace, it works fine.
Does my DCR need to be configured with a special data source and destination? (Similarly how Azure Monitor needs a special DCR for Arc machines)
I am having trouble using the Azure Built-In policy “Configure Arc-enabled SQL Servers with DCR Association to Microsoft Defender for SQL user-defined DCR”. I would assume a newly created DCR would work just fine, but I am unsure as when I use the policy that will automatically create a DCR and LA workspace, it works fine. Does my DCR need to be configured with a special data source and destination? (Similarly how Azure Monitor needs a special DCR for Arc machines) Read More
Excel Averages
Hi there. I have a spreadsheet where columns B1 – S1 are labeled week1, week2, week3, etc. up to week 18. In column B2 – S2, I am entering weekly percentages. So, having just completed week2, column B2 has a percentage of 41.4 and column C2 has a percentage of 59.6, while columns D2 – S2 are empty at this point. I want column T2 to display the average to date. So, after week two, it would display the average of 41.4 and 59.6, which would be 50.5. However, when I enter a week 3 percentage in D2 (say 64.0), I would then want the new average (55) displayed in column T2. Since some columns will always be empty until after week 18, I’m not sure how to compute the weekly averages after new percentages are entered each week. Thanks in advance for your help.
Hi there. I have a spreadsheet where columns B1 – S1 are labeled week1, week2, week3, etc. up to week 18. In column B2 – S2, I am entering weekly percentages. So, having just completed week2, column B2 has a percentage of 41.4 and column C2 has a percentage of 59.6, while columns D2 – S2 are empty at this point. I want column T2 to display the average to date. So, after week two, it would display the average of 41.4 and 59.6, which would be 50.5. However, when I enter a week 3 percentage in D2 (say 64.0), I would then want the new average (55) displayed in column T2. Since some columns will always be empty until after week 18, I’m not sure how to compute the weekly averages after new percentages are entered each week. Thanks in advance for your help. Read More
Hyperlink Conversion
Is there an easy way to shorten long URL hyperlinks?
Is there an easy way to shorten long URL hyperlinks? Read More
Variable gets cleared after each simulation step with simulink
Hello all,
I am using a System Object (SO) in combination with Simulink to simulate some stuff. Within that SO multiple objects of normal Matlab classes are instantiated in the setupImpl method. From one stepImpl to the next it seems that Matlab/Simulink clears/re-initializes the properties of those Matlab objects which in return costs time. How can I prevent this from happening? I want the memory of the Matlab Objects to be untouched because the size of their properties is large and don’t change over time. I thought of using persistent variables but I fail in defining persistent properties. Is that possible and if so, how?
Any hint is highly appreciated!Hello all,
I am using a System Object (SO) in combination with Simulink to simulate some stuff. Within that SO multiple objects of normal Matlab classes are instantiated in the setupImpl method. From one stepImpl to the next it seems that Matlab/Simulink clears/re-initializes the properties of those Matlab objects which in return costs time. How can I prevent this from happening? I want the memory of the Matlab Objects to be untouched because the size of their properties is large and don’t change over time. I thought of using persistent variables but I fail in defining persistent properties. Is that possible and if so, how?
Any hint is highly appreciated! Hello all,
I am using a System Object (SO) in combination with Simulink to simulate some stuff. Within that SO multiple objects of normal Matlab classes are instantiated in the setupImpl method. From one stepImpl to the next it seems that Matlab/Simulink clears/re-initializes the properties of those Matlab objects which in return costs time. How can I prevent this from happening? I want the memory of the Matlab Objects to be untouched because the size of their properties is large and don’t change over time. I thought of using persistent variables but I fail in defining persistent properties. Is that possible and if so, how?
Any hint is highly appreciated! persistent memory, simulink, class MATLAB Answers — New Questions
How to Measure Power Consumption of a Multiplexer and XOR Gate in MATLAB Simulink?
Hello everyone,
I am currently working on a logic circuit in MATLAB Simulink that involves a Multiplexer (MUX) and an XOR gate. I would like to measure the power consumption (current) of both the MUX and XOR components, but I’m not sure how to go about it in Simulink.
Here are some details about my setup:
I have a 4-to-1 MUX and an XOR gate in my design.
I am looking to measure the dynamic power consumption for each gate during operation.
Could anyone provide guidance on:
How to model or simulate the power consumption for logic components like MUX and XOR gates in Simulink?
Any recommended blocks or libraries to use?
Approaches for accurately measuring the current drawn by these components?
Any tips or examples would be greatly appreciated!Hello everyone,
I am currently working on a logic circuit in MATLAB Simulink that involves a Multiplexer (MUX) and an XOR gate. I would like to measure the power consumption (current) of both the MUX and XOR components, but I’m not sure how to go about it in Simulink.
Here are some details about my setup:
I have a 4-to-1 MUX and an XOR gate in my design.
I am looking to measure the dynamic power consumption for each gate during operation.
Could anyone provide guidance on:
How to model or simulate the power consumption for logic components like MUX and XOR gates in Simulink?
Any recommended blocks or libraries to use?
Approaches for accurately measuring the current drawn by these components?
Any tips or examples would be greatly appreciated! Hello everyone,
I am currently working on a logic circuit in MATLAB Simulink that involves a Multiplexer (MUX) and an XOR gate. I would like to measure the power consumption (current) of both the MUX and XOR components, but I’m not sure how to go about it in Simulink.
Here are some details about my setup:
I have a 4-to-1 MUX and an XOR gate in my design.
I am looking to measure the dynamic power consumption for each gate during operation.
Could anyone provide guidance on:
How to model or simulate the power consumption for logic components like MUX and XOR gates in Simulink?
Any recommended blocks or libraries to use?
Approaches for accurately measuring the current drawn by these components?
Any tips or examples would be greatly appreciated! simulink, mux, xor, current-power MATLAB Answers — New Questions
Need to show solutions (x) per iteration
I am using this optimizer tool since Matlab obliterated the old one —->
It has all these options, shown in the image bellow, to display many different values per iteration, except an option to display each value of the solution, x, at each iteration – which is what I need.
I have noticed that a lot of people have already asked the same question, but all the answers don’t seem to apply to the code I’m using (generated by the new optimization tool). While answers related to the old tool box do not apply anymore. The code the new tool generates looks a bit like this:
% Pass fixed parameters to objfun
objfun19 = @(x)LDR(x);
% Set nondefault solver options
options20 = optimoptions("gamultiobj","ConstraintTolerance",1e-05,"Display",…
"iter");
% Solve
[solution0,objectiveValue0] = gamultiobj(objfun19,v0,[],[],[],[],min,max,[],[],…
options20);
Where x is an array. I have been using multi-objective genetic algorithm, pareto search, and fmincon, which all look almost the same.
Appreciate any help. Please and thank you.I am using this optimizer tool since Matlab obliterated the old one —->
It has all these options, shown in the image bellow, to display many different values per iteration, except an option to display each value of the solution, x, at each iteration – which is what I need.
I have noticed that a lot of people have already asked the same question, but all the answers don’t seem to apply to the code I’m using (generated by the new optimization tool). While answers related to the old tool box do not apply anymore. The code the new tool generates looks a bit like this:
% Pass fixed parameters to objfun
objfun19 = @(x)LDR(x);
% Set nondefault solver options
options20 = optimoptions("gamultiobj","ConstraintTolerance",1e-05,"Display",…
"iter");
% Solve
[solution0,objectiveValue0] = gamultiobj(objfun19,v0,[],[],[],[],min,max,[],[],…
options20);
Where x is an array. I have been using multi-objective genetic algorithm, pareto search, and fmincon, which all look almost the same.
Appreciate any help. Please and thank you. I am using this optimizer tool since Matlab obliterated the old one —->
It has all these options, shown in the image bellow, to display many different values per iteration, except an option to display each value of the solution, x, at each iteration – which is what I need.
I have noticed that a lot of people have already asked the same question, but all the answers don’t seem to apply to the code I’m using (generated by the new optimization tool). While answers related to the old tool box do not apply anymore. The code the new tool generates looks a bit like this:
% Pass fixed parameters to objfun
objfun19 = @(x)LDR(x);
% Set nondefault solver options
options20 = optimoptions("gamultiobj","ConstraintTolerance",1e-05,"Display",…
"iter");
% Solve
[solution0,objectiveValue0] = gamultiobj(objfun19,v0,[],[],[],[],min,max,[],[],…
options20);
Where x is an array. I have been using multi-objective genetic algorithm, pareto search, and fmincon, which all look almost the same.
Appreciate any help. Please and thank you. optimization MATLAB Answers — New Questions