Month: August 2024
Outlook blocks copying meetings – end user perspective
Good morning,
I’m an end user facing the issue “Copying meetings is not supported”.
As I have no administrator rights on my laptop, I can’t apply the solutions documented in these posts.
https://techcommunity.microsoft.com/t5/outlook/enable-meeting-copy/m-p/3981146
https://techcommunity.microsoft.com/t5/outlook/outlook-blocks-copying-meetings/m-p/4054497
My work around is thus a manual copy: create a new meeting, copy subject, copy content, copy attendees, but …
My question was : how do I copy the Teams ID link? When copying a meeting, Outlook also copied the Teams ID link. The copied meeting referred to the same meeting chat, which is very useful when continuing a recurring meeting or in case of a follow-up meeting. We preserve the history.
When creating a new meeting, Outlook automatically assigns a new Teams ID, which results in a new chat, and loss of history. Up till now, I didn’t find the way to set up the new meeting with the old Teams ID.
How to create a new meeting with an existing Teams ID?
I just found the answer myself, but I want to share it.
Create the new meeting. Flag it as “Don’t host online”, so Outlook doesn’t create a Teams ID.
Then copy two things from the original meeting
– The hyperlink that refers to Teams ID in the “location” field
– The text message in the body that has all the Teams details
I tested it, and I join a Teams meeting that is linked to the chat of the original meeting. Both when clicking the link in the meeting request body, or when joining online from the Reminders pop-up.
Kind regards,
Lieven
Good morning, I’m an end user facing the issue “Copying meetings is not supported”. As I have no administrator rights on my laptop, I can’t apply the solutions documented in these posts.https://techcommunity.microsoft.com/t5/outlook/enable-meeting-copy/m-p/3981146https://techcommunity.microsoft.com/t5/outlook/outlook-blocks-copying-meetings/m-p/4054497 My work around is thus a manual copy: create a new meeting, copy subject, copy content, copy attendees, but … My question was : how do I copy the Teams ID link? When copying a meeting, Outlook also copied the Teams ID link. The copied meeting referred to the same meeting chat, which is very useful when continuing a recurring meeting or in case of a follow-up meeting. We preserve the history.When creating a new meeting, Outlook automatically assigns a new Teams ID, which results in a new chat, and loss of history. Up till now, I didn’t find the way to set up the new meeting with the old Teams ID. How to create a new meeting with an existing Teams ID? I just found the answer myself, but I want to share it.Create the new meeting. Flag it as “Don’t host online”, so Outlook doesn’t create a Teams ID.Then copy two things from the original meeting- The hyperlink that refers to Teams ID in the “location” field- The text message in the body that has all the Teams detailsI tested it, and I join a Teams meeting that is linked to the chat of the original meeting. Both when clicking the link in the meeting request body, or when joining online from the Reminders pop-up. Kind regards, Lieven Read More
Cloud Discovery – Insights to CDNs
Taking a look at our Cloud Discovery data we see lots of traffic with CDNs as Akamai.
Is it possible to get more insights about what content has been delivered on a user or ip basis?
Taking a look at our Cloud Discovery data we see lots of traffic with CDNs as Akamai. Is it possible to get more insights about what content has been delivered on a user or ip basis? Read More
Simple Linear Regression with Phi3-vision and State Graphs
Hi, I’m Jambo a Microsoft Student Ambassador for the Department of Applied Mathematics. First and foremost, this article is not a tutorial on regression analysis. Instead, it aims to share my thoughts on applying Phi3-vision through regression analysis. While some regression theory will be touched upon, the focus is not on the theory itself. The main goal here is to share how to use Phi3-vision, so even if you don’t fully grasp the theory behind regression analysis, you’ll still find this article accessible.
What is Linear Regression
Linear regression is a method used to analyze and predict data. Simply put, it tries to describe the relationship between X and Y using a straight line.
In regression theory, we can find the best-fitting line when the data meets the following conditions:
– The residuals (the distance between Y and the line) should follow a normal distribution, meaning the Y points should be evenly distributed on both sides of the line, not too far from it, and not clustered on one side.
– The variance of the residuals should be constant, indicating that the spread of the data points is consistent.
These conditions are ideal and hard to fully meet in reality. Thus, regression analysis often involves transforming the data to make it as close to these conditions as possible and finding potential variables.
Example
Here’s a simple example to show the data distribution:
From the graph, we can easily draw two conclusions:
1. As X increases, Y tends to increase as well.
2. The points on the left are more concentrated than those on the right, meaning that as X increases, the range of Y also increases.
This graph does not meet the abovementioned conditions, so directly fitting a regression line to this data might not yield ideal results.
The following image shows the result of calculating the regression line without adjustments. Pay attention to the R-squared value; the closer it is to 1, the better the model.
Through some transformation methods, we can obtain a better model. There are many theories and tests in regression analysis that determine which transformation methods to use, but real-world applications still require subjective judgment and experience.
Why I Think Phi3-vision is Suitable for Regression Analysis
Although the theory behind regression analysis is very rigorous, real-world applications often require subjective judgment. Real-world data is not as perfect as the theory suggests and is full of unpredictable variables. Therefore, regression analysis is not about finding causal relationships between data but providing a reliable way to “guess” the data.
As the saying goes, “All models are wrong.” We’re merely looking for a model that fits our data, which requires a lot of subjective judgment and industry experience. Phi3-vision can quickly give us some “subjective” judgments based on charts, which is very helpful in practical applications. Once we have a “subjective” judgment, we can use some tests from regression theory to verify whether this judgment is reasonable.
The Process of Regression Analysis
This is a simplified flowchart. Although it still looks complex, you don’t need to fully understand it. Just know that it indicates we can break down the process, decompose a complex problem into multiple simple sub-problems, and then follow the flowchart step by step.
Implementing State Diagram-Based Regression Process with LangGraph + Phi3-vision
We can easily implement regression analysis according to the above diagram using LangGraph. Here is a state diagram automatically generated by LangGraph based on the added nodes.
If you don’t have a local environment for running Phi3-vision, we can also conveniently use LangChain’s Nvidia NIM integration to call the model. This way, we can quickly test whether a specific model is suitable for the application. You can find detailed information about Phi3-vision on Nvidia NIM, and after logging in, you can find your API key in the following location.
from langchain_nvidia_ai_endpoints import ChatNVIDIA
os.environ[“NVIDIA_API_KEY”] = “”
llm = ChatNVIDIA(model=”microsoft/phi-3-vision-128k-instruct”)
For branching routes in the nodes, we only need to ask Phi3-vision a straightforward question, like in the Constant variance node, we would ask: “You are a data analysis expert. Does this set of data have constant variance? You only need to answer True or False.”
In NIM’s online test, we can see that Phi3-vision’s answer to the above example is False. We just need to decide the next step based on the True or False answer.
When checking whether the data meets the normal distribution criterion, we will write a program to automatically generate a Q-Q plot (a type of chart used to determine if the data follows a normal distribution) from the data, and then ask Phi3-vision: “You are a data analysis expert. The attached figure is the Q-Q plot of this set of data. Does this set of data conform to the normal hypothesis? You only need to answer True or False.”
We received a True answer. According to the flow, we know that the next step is to perform a weighted regression algorithm. However, from the graph, we can see that there are multiple weighting methods. We can list these methods and automatically generate the required charts with a program, then let Phi3-vision give us the most likely option.
In this example, Phi3-vision considers the first weighting algorithm to be the most suitable. Next, we just need to automatically jump to the corresponding algorithm function, and the remaining work is to let the program automatically calculate the result.
The specific code implementation can be found here. The following image shows the result of using LangGraph to perform regression analysis on the initial example. You can see that the R-squared value increased from 0.408 to 0.521, and the entire process took less than 5 seconds. If the model is inferred on a locally deployed environment, the time might be even shorter.
Key Points in the Example
Decomposing Problems
For complex projects like regression analysis, no single large model can provide a complete answer in one go. Training a large model that can complete a project in a few steps (cot) is also very challenging, as it requires collecting a vast amount of complete analysis process data and possibly describing why one method is chosen over others.
Our ability to quickly and automatically solve such problems is largely because we have decomposed the problem into sufficiently detailed steps. Each node is a very simple question, and Phi3-vision only needs to answer True or False. This allows us to conveniently verify whether Phi3-vision’s answers are reasonable.
Since we have decomposed the problem into sufficiently detailed steps, we can write targeted prompt texts or functions for each question, which better guides Phi3-vision’s answers.
Advantages of Phi3-vision
Because the problems are decomposed into very simple steps, small models with fast responses are more practical than large models that excel at answering complex questions. Additionally, Phi3-vision has a 128k context capacity, allowing it to provide numerous reference examples when handling simple questions. Since the questions are known, we can hard-code examples, eliminating the need to wait for embedding models and vector databases to match suitable examples.
Advantages of State Graph
Regression analysis is complex not just because we need to find correlations between different factors but also because we need to continually optimize the model, transform the data, and further optimize based on the modified results. Many simple scenarios also rely heavily on loops, such as continually checking if enough information has been obtained to proceed or continually adjusting the model’s parameters. Looping capability is a shortcoming of pipeline tools, but status graphs can handle this well.
Most mainstream LLM-based visualization tools are pipeline-based, such as prompt flow and langflow. When looping is required, they rely on agents or code implementation. This somewhat limits our operations and can even complicate some problems. Status graphs and pipelines are not mutually exclusive; status graphs can serve as a higher-level abstraction of pipelines, connecting pipelines that handle different tasks. And status graphs without loops can degrade into pipelines, making them a more general tool.
While loops in status graphs can cause some issues, even agents can encounter infinite loop problems. Status graphs, compared to agents, can more intuitively show the entire process, making it easier to debug and validate.
Differences from Agents
Agents allow models to autonomously decide the next step by summarizing the current information, giving the model the ability to make decisions and actively gather information. Moreover, multi-agent methods can solve complex problems, but these methods are more suited for exploring solutions when no clear solution exists. In fields with established methodologies, using Agents may seem redundant and add system complexity.
Since each step is autonomously led by the model, it needs to generate a lot of textual thought processes to make the right decision, leading to longer system runtimes, significant token consumption, and the risk of going off track. Although prompt adjustments can influence the model’s decisions, debugging prompts is more of a black box compared to training models – it’s hard to know which part of the model is affected by the prompts.
In the method discussed in this article, engineers pre-design the framework process, and the model only plays a role in branch selection. Automated verification ensures the model’s choices are correct. The entire system is based on a state diagram, allowing us to structurally record the entire process, not just the textual output of the LLM, facilitating subsequent debugging and validation. Since the problems the model encounters are controllable and the output is merely Boolean values or branch choices, we can use examples to adjust the model’s choices. Even if the model gives an incorrect result, the process remains within a predictable range, making it easy to identify issues.
Conclusion
By using Phi3-vision and LangGraph, we can break down the complex process of regression analysis into multiple smaller problems and solve them step by step. Phi3-vision provides “subjective” judgments at certain nodes, and we verify these with programs implementing the theories. Regression analysis is an iterative process, and solving small problems gradually can lead to a complete answer.
This approach not only allows us to stop at any time to review the data and intervene manually but also offers high scalability. Since Phi3-vision handles simple problems, we can easily collect enough data for fine-tuning or RAG, leveraging its advantages in multi-step analysis. Overall, Phi3-vision’s rapid response and high context capacity make it well-suited for fields that are complex but have established methodologies.
Of course, this approach is not suitable for exploring solutions in uncharted territory, as we need to design the entire process upfront. However, in fields where the problems have known solutions, using an Agent might be redundant, while using Phi3-vision and state graphs is more efficient. These two approaches are not mutually exclusive; we can choose the appropriate method based on the specific situation.
This is just one of my ideas, and I hope it can inspire you. The absence of graph-based visualization tools today might be due to some considerations I haven’t thought of, or perhaps I don’t know enough about existing tools. If you have other ideas or suggestions, feel free to leave a comment.
Microsoft Tech Community – Latest Blogs –Read More
Create and Deploy Linux WebJobs on Azure App Service
Introduction
WebJobs are a feature of Azure App Service that allows you to run background tasks or scripts in your App Service. They are particularly useful for executing jobs such as scheduled tasks, data processing, or background maintenance tasks. WebJobs can run continuously, on-demand, or on a scheduled basis, and they can be written in various programming languages.
The goal of this blog post is to guide you through the process of setting up and deploying a WebJob on an Azure App Service running Linux. We will walk you through the necessary steps to create and deploy a WebJob, configure its settings, and manage it effectively. By the end of this blog, you will have a working WebJob integrated into your Azure App Service, capable of performing background tasks or processing jobs as needed.
Prerequisites
Azure Subscription: An active Azure subscription is required to create and manage Azure resources.
Linux App Service: An App Service is necessary for deploying your WebJob. For your WebJob to run, the App Service stack must match the WebJob. For example, a Python-based WebJob requires a Python App Service stack.
Integrated Development Environment (IDE): An IDE or text editor of your choice for developing your WebJob.
File Compression Tool: For packaging WebJob files into a ZIP archive needed for deployment.
Types of WebJobs
When selecting the type of WebJob to use in Azure App Service, it is important to consider the nature of the task you need to perform. Continuous WebJobs are designed to run continuously in the background, making them suitable for tasks that need to be perpetually active. These WebJobs are ideal for ongoing operations such as background processing, monitoring, or maintaining a steady stream of work. They stay active as long as the App Service is operational and will automatically restart if they encounter issues or stop unexpectedly.
In contrast, Triggered WebJobs are executed based on specific triggers or schedules, which makes them well-suited for tasks that need to run at predefined times or in response to events. For example, you might use a Triggered WebJob for scheduled data updates, batch processing, or responding to specific actions like the arrival of new data. The choice between a Continuous or Triggered WebJob will depend on whether your task requires constant operation or is more event-driven, allowing you to tailor the WebJob type to your specific needs.
Creating a WebJob
In this section, we will create a Python WebJob that reads data from a CSV file and update. This example will help you understand the basic structure of a WebJob. Below is redacted version of my webjob.py
import pandas as pd
import os, datetime, logging
# Configure logging
logging.basicConfig(
filename=’/home/LogFiles/webjob.log’,
level=logging.INFO,
format=’%(asctime)s – %(levelname)s – %(message)s’
)
def insert_record(file_path):
print(‘— Inserting Record —‘)
try:
# Determine the next value
value = get_next_value(file_path)
# Create a new DataFrame with the new record
new_record = pd.DataFrame({‘Timestamp’: [datetime.now()], ‘Value’: [value]})
if os.path.exists(file_path):
# Load the existing CSV file
df = pd.read_csv(file_path)
logging.info(‘Loaded existing CSV file successfully.’)
# Append the new record
df = pd.concat([df, new_record], ignore_index=True)
else:
# If the file does not exist, create a new DataFrame
df = new_record
logging.info(‘CSV file not found. Created new file with columns: Timestamp, Value.’)
# Save the updated DataFrame back to Excel
df.to_csv(file_path, index=False)
logging.info(‘Saved updated CSV file successfully with value: %d’, value)
except Exception as e:
logging.error(‘Error processing record: %s’, e)
if __name__ == “__main__”:
print(‘— WebJob Execution Started —‘)
file_path = ‘/home/site/wwwroot/data.csv’
insert_record(file_path)
print(‘— WebJob Execution Ended —‘)
Deploying a WebJob
Deploying a WebJob on App Service Linux involves creating a shell script, packaging it, and then deploying it via the Azure Portal.
Create a shell script (script.sh) with the command to start the WebJob script. For Python WebJob, I used below script to install dependencies and execute the script:
#!/bin/bash
/opt/python/3.10.14/bin/pip3 install pandas
/opt/python/3.10.14/bin/python3.10 webjob.py
Zip the webjob.py and script.sh file together. Ensure that the files are present at the root of the zipped archive.
Webjob Deployment requires Basic Authentication. Enable SCM Basic Auth Publishing Credentials from the Configuration Blade of the App Service.
Now Navigate to the WebJob Balde of the App Service to Add and Configure the WebJob. Click the “Add” button to create a new WebJob. In the configuration panel:
Upload the WebJob File: Choose the webjob.zip file you prepared.
Set WebJob Type: Select the WebJob type—either “Continuous” for a constantly running job or “Triggered” for a job that runs on-demand or on a schedule.
Configure Schedule (if using a Triggered WebJob): Specify the cron expression for scheduling the job. For example, use 0 */5 * * * to run every 5 minutes.
Click “OK” or “Save” to upload the WebJob and apply the configuration.
Testing & Logging
For a Triggered WebJob, you can manually run it by selecting the WebJob and clicking “Run.”
On App Service Linux, WebJobs are deployed under /tmp/jobs/. To check the logs, you can either view it by clicking the Logs button. You can navigate to /home/data/jobs/triggered/<webjob_name>. Here you will find a directory corresponding to each execution of the WebJob. Within each directory, you will find the ‘status’ and ‘output_log.txt. files.
The status file indicates the schedule set for the WebJob along with the result of the WebJob execution. You can also find the start and end time of the execution.
The output_log.txt file contains general information and status updates during execution. It will also contain execution logs.
By reviewing these logs, you can confirm the WebJob’s operational status, diagnose issues, and understand its execution behaviour.
Conclusion
WebJobs on Azure App Service Linux offers a powerful way to run background tasks and automate processes within your applications. By following the outlined steps you can seamlessly integrate WebJobs into your Linux-based App Service. With a robust understanding of WebJobs, you can leverage this feature to enhance your application’s functionality and maintain high performance across your services.
Additional Links
Run background tasks with WebJobs – Azure App Service | Microsoft Learn
Github Repository: App Service Linux WebJob (github.com)
Microsoft Tech Community – Latest Blogs –Read More
Error in DNG Server Login Configuration
We are trying to configure DNG Server Login Configuration, but we found error "Domain name not resolved: our-domain.com".
From our investigation, we think that the error occur in function rmiut.InputUtils.validateDomainName().
Below is our suspects.
Fact: our domain name is private domain and it cannot be resolved by DNS.
Fact: current we are using host file to solve this domain name.
We think that function rmiut.InputUtils.validateDomainName() do not use information in host file when it validate the domain name.
This domain use self-signed cert and we don’t have .crt of it too, but we think the error occur at validation step, not load the web yet.
Could you please confirm our suspect and suggest the solution.
Thank you.We are trying to configure DNG Server Login Configuration, but we found error "Domain name not resolved: our-domain.com".
From our investigation, we think that the error occur in function rmiut.InputUtils.validateDomainName().
Below is our suspects.
Fact: our domain name is private domain and it cannot be resolved by DNS.
Fact: current we are using host file to solve this domain name.
We think that function rmiut.InputUtils.validateDomainName() do not use information in host file when it validate the domain name.
This domain use self-signed cert and we don’t have .crt of it too, but we think the error occur at validation step, not load the web yet.
Could you please confirm our suspect and suggest the solution.
Thank you. We are trying to configure DNG Server Login Configuration, but we found error "Domain name not resolved: our-domain.com".
From our investigation, we think that the error occur in function rmiut.InputUtils.validateDomainName().
Below is our suspects.
Fact: our domain name is private domain and it cannot be resolved by DNS.
Fact: current we are using host file to solve this domain name.
We think that function rmiut.InputUtils.validateDomainName() do not use information in host file when it validate the domain name.
This domain use self-signed cert and we don’t have .crt of it too, but we think the error occur at validation step, not load the web yet.
Could you please confirm our suspect and suggest the solution.
Thank you. simulink requirements, slreq.dngconfigure MATLAB Answers — New Questions
Upgrading License
We are using F3 licenses for our users which gives them 2 GB storage.
Many times, they want more storage and we upgrade their license to Plan 1 which gives 50 Gb storage.
Now that they have Plan 1 assigned, shall we remove the F3 license safely from their account or will there be any problems.
We are using F3 licenses for our users which gives them 2 GB storage.Many times, they want more storage and we upgrade their license to Plan 1 which gives 50 Gb storage. Now that they have Plan 1 assigned, shall we remove the F3 license safely from their account or will there be any problems. Read More
Handling the Too Many Retries Error and Dealing with Odd Numbers of Audit Events
The AuditLog Query Graph API remains in beta status but cmdlets are now available in the Microsoft Graph PowerShell SDK. This led to some oddities in results when the number of audit events found by a search didn’t match those reported by the Purview compliance portal. It all worked out in the end. In other news, the Set-MgRequestContext helped sort out some retry problems.
https://office365itpros.com/2024/08/14/auditlog-query-oddities/
The AuditLog Query Graph API remains in beta status but cmdlets are now available in the Microsoft Graph PowerShell SDK. This led to some oddities in results when the number of audit events found by a search didn’t match those reported by the Purview compliance portal. It all worked out in the end. In other news, the Set-MgRequestContext helped sort out some retry problems.
https://office365itpros.com/2024/08/14/auditlog-query-oddities/ Read More
Planner tab Linking fail in MS Teams Tab and in Browser web URL (using graph api)
Hello Team,
Our application add a Planner tab to a Microsoft Teams channel using the Microsoft Graph API, the tab is successfully added, but the content within the tab is stuck on loading indefinitely and never actually displays. This feature worked fine earlier and not working as of now.
We were using following URL to view plan.
https://tasks.office.com/{tenant-Id}/Home/PlannerFrame but it is not working now. Earlier it was working.
URL is not working even on browser.
I have already gone through below information but not useful.
TM853590 has been restored on Wednesday, August 7, 2024, at 6:20
Can you please confirm that URL /Home/PlannerFrame is still a valid endpoint ?
Please suggest.
Hello Team,Our application add a Planner tab to a Microsoft Teams channel using the Microsoft Graph API, the tab is successfully added, but the content within the tab is stuck on loading indefinitely and never actually displays. This feature worked fine earlier and not working as of now. We were using following URL to view plan.https://tasks.office.com/{tenant-Id}/Home/PlannerFrame but it is not working now. Earlier it was working.URL is not working even on browser. I have already gone through below information but not useful. TM853590 has been restored on Wednesday, August 7, 2024, at 6:20 Can you please confirm that URL /Home/PlannerFrame is still a valid endpoint ?Please suggest. Read More
Managed devices being detected as unmanaged in Access policy
I have an Access policy that targets devices that are not hybrid AD joined to block the OneDrive client syncing on personal devices. This is tested and working, but i’m finding that 1 of my pilot managed devices is intermittently displaying the cloud apps popup when OneDrive is being accessed.
The device in question is a corporate laptop running Windows 11 with a join type of “Microsoft Entra joined”.
When I look at the logs all OneDrive activities are allowed except for the ones with a description of “open in native app” which are being blocked, these have an activity type of “Download File”. Under User Agent Tag it only shows Intune Compliant, although I am not targeting this in the Access policy. I’ve noticed many computers in Entra ID are showing as non-compliant and didnt initially want to restrict them so did not tick it, should I?
Given a fleet of 17,000 devices, I need to understand why we are getting false positives and fix it before I roll out the policy to all of them. Any help is appreciated.
Thanks.
I have an Access policy that targets devices that are not hybrid AD joined to block the OneDrive client syncing on personal devices. This is tested and working, but i’m finding that 1 of my pilot managed devices is intermittently displaying the cloud apps popup when OneDrive is being accessed. The device in question is a corporate laptop running Windows 11 with a join type of “Microsoft Entra joined”. When I look at the logs all OneDrive activities are allowed except for the ones with a description of “open in native app” which are being blocked, these have an activity type of “Download File”. Under User Agent Tag it only shows Intune Compliant, although I am not targeting this in the Access policy. I’ve noticed many computers in Entra ID are showing as non-compliant and didnt initially want to restrict them so did not tick it, should I? Given a fleet of 17,000 devices, I need to understand why we are getting false positives and fix it before I roll out the policy to all of them. Any help is appreciated. Thanks. Read More
How to generate a TLC file for a MEX file externally obtained?
Hello,
I have a Simulink simulation utilizing an S-Function block tied to an externally generated MEX file, which I am trying to make code generation compatible.
I have reviewed these articles about the topic:
Use Level-2 MATLAB S-function: https://www.mathworks.com/help/simulink/slref/level2matlabsfunction.html
TLC Files: https://www.mathworks.com/help/rtw/tlc/tlc-files.html
However, I was wondering how I would generate a TLC file if the MEX was auto-generated by an external modeling software. Do I need access to the source C Code before MEX file generation? Is there a way to manually build it without knowledge of how the MEX is built?
Just looking for information on what information/access I would need.
Thanks!Hello,
I have a Simulink simulation utilizing an S-Function block tied to an externally generated MEX file, which I am trying to make code generation compatible.
I have reviewed these articles about the topic:
Use Level-2 MATLAB S-function: https://www.mathworks.com/help/simulink/slref/level2matlabsfunction.html
TLC Files: https://www.mathworks.com/help/rtw/tlc/tlc-files.html
However, I was wondering how I would generate a TLC file if the MEX was auto-generated by an external modeling software. Do I need access to the source C Code before MEX file generation? Is there a way to manually build it without knowledge of how the MEX is built?
Just looking for information on what information/access I would need.
Thanks! Hello,
I have a Simulink simulation utilizing an S-Function block tied to an externally generated MEX file, which I am trying to make code generation compatible.
I have reviewed these articles about the topic:
Use Level-2 MATLAB S-function: https://www.mathworks.com/help/simulink/slref/level2matlabsfunction.html
TLC Files: https://www.mathworks.com/help/rtw/tlc/tlc-files.html
However, I was wondering how I would generate a TLC file if the MEX was auto-generated by an external modeling software. Do I need access to the source C Code before MEX file generation? Is there a way to manually build it without knowledge of how the MEX is built?
Just looking for information on what information/access I would need.
Thanks! simulink, tlc, matlab, code generation, mex, simulink compiler MATLAB Answers — New Questions
Interpret CNN classification model for EEG signals.
I have a CNN model for EEG signals classification, I built the model, train and test it. I want to interpret the decision-making process of the CNN model , How can I do that ? Should I use on of the attached methodes?I have a CNN model for EEG signals classification, I built the model, train and test it. I want to interpret the decision-making process of the CNN model , How can I do that ? Should I use on of the attached methodes? I have a CNN model for EEG signals classification, I built the model, train and test it. I want to interpret the decision-making process of the CNN model , How can I do that ? Should I use on of the attached methodes? eeg, interpretability, cnn, imagelime MATLAB Answers — New Questions
Array of SimulationInput objects gets modified upon running with sim command
I am creating an array of SimulationInput objects, ‘simIn’. If I try to run a single simulation, for example using simOut(1) = sim(simIn(1)) to run the first case, why does simIn lose all other array elementes. It changes to a 1×1 SimulationInput object, whereas before the sim command it was a 1×28 object
for casenumber = 1:NumFile
if ~isempty(char(file{FileIdx(casenumber),1}))
if exist(strrep(char(file{FileIdx(casenumber),1}), ‘;’, ”), ‘file’)
%% Setup parallel Simulation
simIn(casenumber)=Simulink.SimulationInput(‘XWB_MSL_EEC’);
simIn(casenumber) = simIn(casenumber).setVariable(‘Experiment’,Experiment);
simIn(casenumber) = simIn(casenumber).setVariable(‘Enable_MSL_Validation_Logging’,Enable_MSL_Validation_Logging);
simIn(casenumber) = simIn(casenumber).setVariable(‘SimStartTime’,0);
simIn(casenumber) = simIn(casenumber).setVariable(‘TimeMode1’,TimeMode1);
simIn(casenumber) = simIn(casenumber).setVariable(‘TimeMode2’,TimeMode2);
simIn(casenumber) = simIn(casenumber).setVariable(‘parallel_casenumber’,casenumber);
simIn(casenumber) = simIn(casenumber).setVariable(‘ModelPath’,ModelPath);
simIn(casenumber) = simIn(casenumber).setVariable(‘toolGitStatus’,toolGitStatus);
simIn(casenumber) = simIn(casenumber).setVariable(‘configGitStatus’,configGitStatus);
simIn(casenumber) = simIn(casenumber).setVariable(‘toolConfigVersion’,toolConfigVersion);
simIn(casenumber) = simIn(casenumber).setVariable(‘configGitInfo’,configGitInfo);
simIn(casenumber) = simIn(casenumber).setVariable(‘switchBatchMode’,switchBatchMode);
simIn(casenumber) = simIn(casenumber).setVariable(‘resultsDir’,resultsDir);
simIn(casenumber) = simIn(casenumber).setVariable(‘switchExportDataToPhobos’,switchExportDataToPhobos);
if ~isempty(Suffix)
simIn(casenumber) = simIn(casenumber).setVariable(‘CurveName’,sprintf(‘%s_%s’,file{FileIdx(casenumber),1},Suffix));
else
simIn(casenumber) = simIn(casenumber).setVariable(‘CurveName’,file{FileIdx(casenumber),1});
end
% Use a temporary variable for the SimIn element to avoid runaway memory usage when using a preSimFcn with parsim
tmpSimIn = simIn(casenumber);
preSimFcnInputs = {file{FileIdx(casenumber)}, tmpSimIn};
simIn(casenumber)=simIn(casenumber).setPreSimFcn(@(x) parsimMSLPreSimFcn(preSimFcnInputs));
simIn(casenumber) = simIn(casenumber).setPostSimFcn(@(y) parsimMSLPostSimFcn(y, tmpSimIn));
else
error([‘Could not find Case "’,strrep(char(file{FileIdx(casenumber),1}), ‘;’, ”),’"!’])
end
end
endI am creating an array of SimulationInput objects, ‘simIn’. If I try to run a single simulation, for example using simOut(1) = sim(simIn(1)) to run the first case, why does simIn lose all other array elementes. It changes to a 1×1 SimulationInput object, whereas before the sim command it was a 1×28 object
for casenumber = 1:NumFile
if ~isempty(char(file{FileIdx(casenumber),1}))
if exist(strrep(char(file{FileIdx(casenumber),1}), ‘;’, ”), ‘file’)
%% Setup parallel Simulation
simIn(casenumber)=Simulink.SimulationInput(‘XWB_MSL_EEC’);
simIn(casenumber) = simIn(casenumber).setVariable(‘Experiment’,Experiment);
simIn(casenumber) = simIn(casenumber).setVariable(‘Enable_MSL_Validation_Logging’,Enable_MSL_Validation_Logging);
simIn(casenumber) = simIn(casenumber).setVariable(‘SimStartTime’,0);
simIn(casenumber) = simIn(casenumber).setVariable(‘TimeMode1’,TimeMode1);
simIn(casenumber) = simIn(casenumber).setVariable(‘TimeMode2’,TimeMode2);
simIn(casenumber) = simIn(casenumber).setVariable(‘parallel_casenumber’,casenumber);
simIn(casenumber) = simIn(casenumber).setVariable(‘ModelPath’,ModelPath);
simIn(casenumber) = simIn(casenumber).setVariable(‘toolGitStatus’,toolGitStatus);
simIn(casenumber) = simIn(casenumber).setVariable(‘configGitStatus’,configGitStatus);
simIn(casenumber) = simIn(casenumber).setVariable(‘toolConfigVersion’,toolConfigVersion);
simIn(casenumber) = simIn(casenumber).setVariable(‘configGitInfo’,configGitInfo);
simIn(casenumber) = simIn(casenumber).setVariable(‘switchBatchMode’,switchBatchMode);
simIn(casenumber) = simIn(casenumber).setVariable(‘resultsDir’,resultsDir);
simIn(casenumber) = simIn(casenumber).setVariable(‘switchExportDataToPhobos’,switchExportDataToPhobos);
if ~isempty(Suffix)
simIn(casenumber) = simIn(casenumber).setVariable(‘CurveName’,sprintf(‘%s_%s’,file{FileIdx(casenumber),1},Suffix));
else
simIn(casenumber) = simIn(casenumber).setVariable(‘CurveName’,file{FileIdx(casenumber),1});
end
% Use a temporary variable for the SimIn element to avoid runaway memory usage when using a preSimFcn with parsim
tmpSimIn = simIn(casenumber);
preSimFcnInputs = {file{FileIdx(casenumber)}, tmpSimIn};
simIn(casenumber)=simIn(casenumber).setPreSimFcn(@(x) parsimMSLPreSimFcn(preSimFcnInputs));
simIn(casenumber) = simIn(casenumber).setPostSimFcn(@(y) parsimMSLPostSimFcn(y, tmpSimIn));
else
error([‘Could not find Case "’,strrep(char(file{FileIdx(casenumber),1}), ‘;’, ”),’"!’])
end
end
end I am creating an array of SimulationInput objects, ‘simIn’. If I try to run a single simulation, for example using simOut(1) = sim(simIn(1)) to run the first case, why does simIn lose all other array elementes. It changes to a 1×1 SimulationInput object, whereas before the sim command it was a 1×28 object
for casenumber = 1:NumFile
if ~isempty(char(file{FileIdx(casenumber),1}))
if exist(strrep(char(file{FileIdx(casenumber),1}), ‘;’, ”), ‘file’)
%% Setup parallel Simulation
simIn(casenumber)=Simulink.SimulationInput(‘XWB_MSL_EEC’);
simIn(casenumber) = simIn(casenumber).setVariable(‘Experiment’,Experiment);
simIn(casenumber) = simIn(casenumber).setVariable(‘Enable_MSL_Validation_Logging’,Enable_MSL_Validation_Logging);
simIn(casenumber) = simIn(casenumber).setVariable(‘SimStartTime’,0);
simIn(casenumber) = simIn(casenumber).setVariable(‘TimeMode1’,TimeMode1);
simIn(casenumber) = simIn(casenumber).setVariable(‘TimeMode2’,TimeMode2);
simIn(casenumber) = simIn(casenumber).setVariable(‘parallel_casenumber’,casenumber);
simIn(casenumber) = simIn(casenumber).setVariable(‘ModelPath’,ModelPath);
simIn(casenumber) = simIn(casenumber).setVariable(‘toolGitStatus’,toolGitStatus);
simIn(casenumber) = simIn(casenumber).setVariable(‘configGitStatus’,configGitStatus);
simIn(casenumber) = simIn(casenumber).setVariable(‘toolConfigVersion’,toolConfigVersion);
simIn(casenumber) = simIn(casenumber).setVariable(‘configGitInfo’,configGitInfo);
simIn(casenumber) = simIn(casenumber).setVariable(‘switchBatchMode’,switchBatchMode);
simIn(casenumber) = simIn(casenumber).setVariable(‘resultsDir’,resultsDir);
simIn(casenumber) = simIn(casenumber).setVariable(‘switchExportDataToPhobos’,switchExportDataToPhobos);
if ~isempty(Suffix)
simIn(casenumber) = simIn(casenumber).setVariable(‘CurveName’,sprintf(‘%s_%s’,file{FileIdx(casenumber),1},Suffix));
else
simIn(casenumber) = simIn(casenumber).setVariable(‘CurveName’,file{FileIdx(casenumber),1});
end
% Use a temporary variable for the SimIn element to avoid runaway memory usage when using a preSimFcn with parsim
tmpSimIn = simIn(casenumber);
preSimFcnInputs = {file{FileIdx(casenumber)}, tmpSimIn};
simIn(casenumber)=simIn(casenumber).setPreSimFcn(@(x) parsimMSLPreSimFcn(preSimFcnInputs));
simIn(casenumber) = simIn(casenumber).setPostSimFcn(@(y) parsimMSLPostSimFcn(y, tmpSimIn));
else
error([‘Could not find Case "’,strrep(char(file{FileIdx(casenumber),1}), ‘;’, ”),’"!’])
end
end
end simulink MATLAB Answers — New Questions
Migration Tenant to Tenant in IMAP
hello everyone,
I have to do a tenant to tenant migration and for various reasons I only have imap available, and a single administrative user on the active tenant I have contoso.com which is also part of other domains, I have to bring contoso.com to a new tenant, before the migration I called the new tenant contoso.net. I use the microsoft migration tool but it tells me that it does not find the username email address in the new tenant where I created email address but is different the @domain. in the meantime however the users must continue to use the old tenant until the cutoff. What should I do?
hello everyone,I have to do a tenant to tenant migration and for various reasons I only have imap available, and a single administrative user on the active tenant I have contoso.com which is also part of other domains, I have to bring contoso.com to a new tenant, before the migration I called the new tenant contoso.net. I use the microsoft migration tool but it tells me that it does not find the username email address in the new tenant where I created email address but is different the @domain. in the meantime however the users must continue to use the old tenant until the cutoff. What should I do? Read More
Error message 500 when try to access Bookwithme link after i am signed in with my account.
Hello everyone,
I have an issue at my office where i am unable to access a https://outlook.office.com/bookwithme link when i am signed in with my office.com account. (i tried this with a private email and it seems to work fine) we have an on Premise Exchange and is managed by our IT Teams.
If i try this with another company email it seems to work and i am able to see the booking website and chose the date and book the appointment.
FYI: I tried it with different computers, browser cache clean, many browsers differently also via Incognito and it didnt work.
Does anyone have an idea what the issue may be and how to resolve it?
The error message is as follows:
Would appreciate if someone can assist and help to at least identify what is going on because we used to check the licenses and everything is fine.
Hello everyone,I have an issue at my office where i am unable to access a https://outlook.office.com/bookwithme link when i am signed in with my office.com account. (i tried this with a private email and it seems to work fine) we have an on Premise Exchange and is managed by our IT Teams. If i try this with another company email it seems to work and i am able to see the booking website and chose the date and book the appointment.FYI: I tried it with different computers, browser cache clean, many browsers differently also via Incognito and it didnt work. Does anyone have an idea what the issue may be and how to resolve it?The error message is as follows: Would appreciate if someone can assist and help to at least identify what is going on because we used to check the licenses and everything is fine. Read More
(Classic Outlook) automatically delete items in “Sent Folder” if sent to a specific person?
Hello all,
I’ve applied a rule to an inbox I’m using that automatically forwards all e-mail received there to my personal address.
Issue is, this clogs up the “sent” folder with pointless duplicates.
So I tried to apply a rule to the “Sent” folder to get rid of these mails, issue is that once I select the rule “sent to user or public group” and write the e-mail address I want to filter, the options for the rule that appear afterwards don’t include the “delete the e-mail” ones.
There’s only the “create a copy and move to folder” option. Which is not what I need.
Any Idea on how I could solve this without contacting the mail server admin to auto forward from there?
Hello all, I’ve applied a rule to an inbox I’m using that automatically forwards all e-mail received there to my personal address.Issue is, this clogs up the “sent” folder with pointless duplicates. So I tried to apply a rule to the “Sent” folder to get rid of these mails, issue is that once I select the rule “sent to user or public group” and write the e-mail address I want to filter, the options for the rule that appear afterwards don’t include the “delete the e-mail” ones.There’s only the “create a copy and move to folder” option. Which is not what I need.Any Idea on how I could solve this without contacting the mail server admin to auto forward from there? Read More
Add cell from other column into a column by cell
Column 6 and Column 11, I want first cell in column 11 to be mapped inbetween of the 1st and 2nd cell in column 6, then second cell in column 11 to be mapped inbetween of the 2nd and 3rd cell in column 6, and so on. Is there any idea how to do this?
Process would look like this
Step one : Insert new rows inbetween rows in column 6 : row 1 and 2, and row 2 and 3
Step 2 : drag value of cell 1 and 2 from column 11 in to the respective cell in column 6
This would be manual, but is there an automatic way by using formula on excel to address this issue?
Please help, thank you.
Also, if you need the excel file do tell.
Column 6 and Column 11, I want first cell in column 11 to be mapped inbetween of the 1st and 2nd cell in column 6, then second cell in column 11 to be mapped inbetween of the 2nd and 3rd cell in column 6, and so on. Is there any idea how to do this?Process would look like this Step one : Insert new rows inbetween rows in column 6 : row 1 and 2, and row 2 and 3 Step 2 : drag value of cell 1 and 2 from column 11 in to the respective cell in column 6 This would be manual, but is there an automatic way by using formula on excel to address this issue?Please help, thank you. Also, if you need the excel file do tell. Read More
腾龙公司网址【微QGY889889】
数智创新变革未来安全性与合规性信息安全的重要性合规性的定义与要求相关法律法规介绍企业合规性管理框架信息安全风险评估常见安全威胁与应对措施合规性审计与监督未来趋势,脚本安全性和合规性第一部分脚本漏洞利用机制分析2第二部分合规性要求与技术对策。
数智创新变革未来安全性与合规性信息安全的重要性合规性的定义与要求相关法律法规介绍企业合规性管理框架信息安全风险评估常见安全威胁与应对措施合规性审计与监督未来趋势,脚本安全性和合规性第一部分脚本漏洞利用机制分析2第二部分合规性要求与技术对策。 Read More
Project export error while generating code using Simulink Coder Twincat target
I am experimenting creating a Simulink model for TwinCAT 3 but when generating the Simulink code it keeps showing the following error:
The call to TwinCatGrt_make_rtw_hook, during the after_make hook generated the following error: Project export failed The build process will terminate as a result.
Caused by:
Project export failed
I looked on the internet and seems there are only guides for fixing preparing projects but none for fixing project export. Does anyone know how to fix this error?I am experimenting creating a Simulink model for TwinCAT 3 but when generating the Simulink code it keeps showing the following error:
The call to TwinCatGrt_make_rtw_hook, during the after_make hook generated the following error: Project export failed The build process will terminate as a result.
Caused by:
Project export failed
I looked on the internet and seems there are only guides for fixing preparing projects but none for fixing project export. Does anyone know how to fix this error? I am experimenting creating a Simulink model for TwinCAT 3 but when generating the Simulink code it keeps showing the following error:
The call to TwinCatGrt_make_rtw_hook, during the after_make hook generated the following error: Project export failed The build process will terminate as a result.
Caused by:
Project export failed
I looked on the internet and seems there are only guides for fixing preparing projects but none for fixing project export. Does anyone know how to fix this error? simulink, twincat3, tccom MATLAB Answers — New Questions
How to extract 50Hz fundamental frequency components or DC components with less delay in Simulink?
I want to extract the 50Hz fundamental frequency component or DC component of the voltage at the shunt point in a double closed loop control of an inverter. As far as I know, a low pass filter or a notch filter can be used. But the lower the cutoff frequency, the greater the signal delay between input and output. Is there a good way to solve the delay problem?I want to extract the 50Hz fundamental frequency component or DC component of the voltage at the shunt point in a double closed loop control of an inverter. As far as I know, a low pass filter or a notch filter can be used. But the lower the cutoff frequency, the greater the signal delay between input and output. Is there a good way to solve the delay problem? I want to extract the 50Hz fundamental frequency component or DC component of the voltage at the shunt point in a double closed loop control of an inverter. As far as I know, a low pass filter or a notch filter can be used. But the lower the cutoff frequency, the greater the signal delay between input and output. Is there a good way to solve the delay problem? closed-loop control, power_electronics_control, signal processing MATLAB Answers — New Questions
Connect USRP-2974 using Wireless Testbench
Hi, MATLAB Community,
I wonder if the NI USRP-2974 is compatatible with Wireless Testbench Toolbox.
Although NI says that USRP-2974 is X310 with an on-board computer, I failed to run WT examples. I noticed that Wireless Testbench supports NI USRP-295x (X310 with specific daughterboards, I tested with another USRP-2952) but it seems 2974 is not supported.
An error message says Unable to find a compatible radio, ‘USRP X310’
Thanks in advanceHi, MATLAB Community,
I wonder if the NI USRP-2974 is compatatible with Wireless Testbench Toolbox.
Although NI says that USRP-2974 is X310 with an on-board computer, I failed to run WT examples. I noticed that Wireless Testbench supports NI USRP-295x (X310 with specific daughterboards, I tested with another USRP-2952) but it seems 2974 is not supported.
An error message says Unable to find a compatible radio, ‘USRP X310’
Thanks in advance Hi, MATLAB Community,
I wonder if the NI USRP-2974 is compatatible with Wireless Testbench Toolbox.
Although NI says that USRP-2974 is X310 with an on-board computer, I failed to run WT examples. I noticed that Wireless Testbench supports NI USRP-295x (X310 with specific daughterboards, I tested with another USRP-2952) but it seems 2974 is not supported.
An error message says Unable to find a compatible radio, ‘USRP X310’
Thanks in advance ni usrp MATLAB Answers — New Questions