Category: News
Removing ghost rings on CCD reading?
Hello! I have a matrix were each value contains a level of intensity. I do some data manipulation on my data, and create these plots. My function that removes the ghost rings is horrible because it pouches everything. My goal is to only pouch the shadow ring. Can I get some advice on how to deal with it? TThanks!Hello! I have a matrix were each value contains a level of intensity. I do some data manipulation on my data, and create these plots. My function that removes the ghost rings is horrible because it pouches everything. My goal is to only pouch the shadow ring. Can I get some advice on how to deal with it? TThanks! Hello! I have a matrix were each value contains a level of intensity. I do some data manipulation on my data, and create these plots. My function that removes the ghost rings is horrible because it pouches everything. My goal is to only pouch the shadow ring. Can I get some advice on how to deal with it? TThanks! image processing, artifact removal MATLAB Answers — New Questions
Find the first value that is greater than or equal to and its corresponding value
A table from an .txt file is imported. It looks like this (say first column as x and second as y)
0.01 3
0.02 4
0.03 6
0.04 9
0.05 12
0.06 14
0.07 15
0.08 18
How to find the first value in column y that is greater than or equal to 10 and find the corresponding x value (PS: Both x and y are increasing as it goes down)A table from an .txt file is imported. It looks like this (say first column as x and second as y)
0.01 3
0.02 4
0.03 6
0.04 9
0.05 12
0.06 14
0.07 15
0.08 18
How to find the first value in column y that is greater than or equal to 10 and find the corresponding x value (PS: Both x and y are increasing as it goes down) A table from an .txt file is imported. It looks like this (say first column as x and second as y)
0.01 3
0.02 4
0.03 6
0.04 9
0.05 12
0.06 14
0.07 15
0.08 18
How to find the first value in column y that is greater than or equal to 10 and find the corresponding x value (PS: Both x and y are increasing as it goes down) index, greater, equal, corresponding MATLAB Answers — New Questions
where can I find libmwtommfile.dylib
I have used slbuild to create an executable file from a Simulink model. When I run the executable I get the error mesage
Could not open library: libmwtommfile.dylib
Where can I find this library?I have used slbuild to create an executable file from a Simulink model. When I run the executable I get the error mesage
Could not open library: libmwtommfile.dylib
Where can I find this library? I have used slbuild to create an executable file from a Simulink model. When I run the executable I get the error mesage
Could not open library: libmwtommfile.dylib
Where can I find this library? dynamic library MATLAB Answers — New Questions
FMU Export for Windows x86-32
Dear Sir or Madam,
I am trying to export a Simulink model as Standalone FMU for Windows x86-32 platform. However, I obtain the following error:
Error:An installation of Microsoft Visual C++ 2017 cannot be detected
I have already installed Microsoft Visual Studio BuildTools 2017. This is the installation path.
C:Program Files (x86)Microsoft Visual Studio2017BuildTools
How could I solve this?
Thank you very much in advance.
Víctor Sánchez SuárezDear Sir or Madam,
I am trying to export a Simulink model as Standalone FMU for Windows x86-32 platform. However, I obtain the following error:
Error:An installation of Microsoft Visual C++ 2017 cannot be detected
I have already installed Microsoft Visual Studio BuildTools 2017. This is the installation path.
C:Program Files (x86)Microsoft Visual Studio2017BuildTools
How could I solve this?
Thank you very much in advance.
Víctor Sánchez Suárez Dear Sir or Madam,
I am trying to export a Simulink model as Standalone FMU for Windows x86-32 platform. However, I obtain the following error:
Error:An installation of Microsoft Visual C++ 2017 cannot be detected
I have already installed Microsoft Visual Studio BuildTools 2017. This is the installation path.
C:Program Files (x86)Microsoft Visual Studio2017BuildTools
How could I solve this?
Thank you very much in advance.
Víctor Sánchez Suárez fmu, 32-bit, x86, microsoft visual c++ 2017 MATLAB Answers — New Questions
Teams Delivers a Slack Migration Tool
Another Microsoft Migration Solution
Fresh from announcing their tenant-to-tenant migration “orchestrator” solution, message center notification MC1213779 (6 January 2026, Microsoft 365 roadmap item 485709) brings news of a new Slack to Teams migration solution. Microsoft’s new offering can move Slack public and private channels into Teams channels. The new tool is available in the Microsoft 365 admin center for targeted tenants with general availability worldwide due later this month.

Free and Easy
The big selling point is that Microsoft’s Slack to Teams migration solution is free. In a nutshell, the tool ingests export packages (ZIP files) generated by Slack and uploaded to Azure blob storage to populate Teams channels that the Slack channels are mapped to. Migration can be done for all or just selected Slack channels. Mapping is also required to allow the tool to resolve Slack usernames to Microsoft 365 accounts, and Microsoft has a PowerShell script to check Slack identities against Entra ID to find matching accounts.
Microsoft considers its Slack to Teams migration solution to be a preview offering until it reaches general availability. Some changes might take place between now and then, but it’s likely that the broad overview of the solution will remain the same. As always, take the time to read the online documentation to check the prerequisites (Azure is a big one), required permissions, and so on.
Microsoft’s Need for Migration Tools
Given the array of third-party migration tools that can move Slack content into Teams, many wonder why Microsoft needs its own solution. After all, although the software is free, it must be created, maintained, and supported, and all that activity costs.
The answer is that Microsoft wants to encourage customers to move off competing platforms. Although Teams is a dominant player for Microsoft 365 collaboration with over 320 million monthly active users (last official figure from October 2023), that still leaves 126 million of the 446 million paid Office 365 seats (data from October 2025) to play for. I assume that some of those 126 million users use Slack, and Microsoft would very much like to move them into the Teams ecosystem. Apart from anything else, migrated Slack users might buy Teams Premium and Teams Phone licenses.
It’s all about money. Microsoft wants to sell more licenses and can do so by migrating more people to its platform. Apart from anything else, the number of pure net new Microsoft 365 seats that Microsoft can sell is falling because of the size of the platform. This creates the need to use other methods to acquire new seats. According to DemandSage, Slack has 79 million monthly active users (December 2025), so it’s an attractive migration target.
The Third-Party Alternatives
A quick web search reveals that several ISV migration tools are available to move Slack content to Teams. Looking through the marketing material published by the different vendors, it seems that all the tools take roughly the same approach as used by Microsoft.
Discovering that tools don’t vary too much in how they approach migration isn’t surprising. Depending on available APIs, limited ways often exist to extract and ingest information, so the differences usually occur in how the extracted data is stored and processed prior to ingestion. However, marketing descriptions often hide technical reality, so I recommend that you test the available tools, including Microsoft’s new offering, before making a final choice.
So much change, all the time. It’s a challenge to stay abreast of all the updates Microsoft makes across the Microsoft 365 ecosystem. Subscribe to the Office 365 for IT Pros eBook to receive insights updated monthly into what happens within Microsoft 365, why it happens, and what new features and capabilities mean for your tenant.
How to initialize the deep learning ip core generated by deep learning hdl toolbox
Hi,
I’m currently working with the Deep Learning HDL Toolbox and would like to integrate the generated IP core into my own RTL design.
I used Wireshark to capture the traffic between MATLAB and the board, and I can now “run” the core by replaying those packets.
However, I haven’t been able to reverse-engineer the full initialization sequence: loading the network weights into external DDR, programming the configuration registers, and completing any hidden hand-shakes that happen before the first inference.
When I let MATLAB drive the board the same bit-stream works perfectly, so the missing piece is clearly the initialization flow.
Could you point me to the register map, the required power-on sequence, or any documentation that explains how to bring the Deep Learning IP out of reset and validate that it is ready to accept input data?
Thank you very much for your help.
Best regards.
Looking forward to your reply.Hi,
I’m currently working with the Deep Learning HDL Toolbox and would like to integrate the generated IP core into my own RTL design.
I used Wireshark to capture the traffic between MATLAB and the board, and I can now “run” the core by replaying those packets.
However, I haven’t been able to reverse-engineer the full initialization sequence: loading the network weights into external DDR, programming the configuration registers, and completing any hidden hand-shakes that happen before the first inference.
When I let MATLAB drive the board the same bit-stream works perfectly, so the missing piece is clearly the initialization flow.
Could you point me to the register map, the required power-on sequence, or any documentation that explains how to bring the Deep Learning IP out of reset and validate that it is ready to accept input data?
Thank you very much for your help.
Best regards.
Looking forward to your reply. Hi,
I’m currently working with the Deep Learning HDL Toolbox and would like to integrate the generated IP core into my own RTL design.
I used Wireshark to capture the traffic between MATLAB and the board, and I can now “run” the core by replaying those packets.
However, I haven’t been able to reverse-engineer the full initialization sequence: loading the network weights into external DDR, programming the configuration registers, and completing any hidden hand-shakes that happen before the first inference.
When I let MATLAB drive the board the same bit-stream works perfectly, so the missing piece is clearly the initialization flow.
Could you point me to the register map, the required power-on sequence, or any documentation that explains how to bring the Deep Learning IP out of reset and validate that it is ready to accept input data?
Thank you very much for your help.
Best regards.
Looking forward to your reply. fpga, deep learning ip core, initialize MATLAB Answers — New Questions
A Quick Look at Purview Data Security Investigations
Investigations Get a New Purge Mitigation Action
During the quiet holiday period, I took the time to check out the Purview Data Security Investigation (DSI) solution. My interest was prompted by message center notification MC1199763 (18 December 2025, Microsoft 365 roadmap item 542930) announcing the inclusion of an option to purge items found by an investigation (Figure 1).

The new capability is called the purge mitigation action and is in preview and due for general availability in March 2026.
Data Security Investigations
Purview’s DSI solution is currently in preview. The idea is that DSI “helps cybersecurity teams in your organization use generative artificial intelligence (AI) to analyze and respond to data security incidents, risky insiders, and data breaches.” Anyone used to the management of Purview eDiscovery cases will find DSI a familiar place because a lot of the UX is borrowed from the eDiscovery solution. Even the new purge mitigation action comes from the eDiscovery Graph API (implemented as the Clear-MgSecurityCaseEdiscoveryCaseSearchData cmdlet in the Microsoft Graph PowerShell SDK.
Indeed, DSI seems to be the product of melding a hefty chunk of eDiscovery with some of the generative AI used by Security Copilot to analyze and highlight anomalies in data, in this case, information found in Microsoft 365 data sources like mailboxes and SharePoint sites that might point to problems such as data breaches or actions taken by employees to exfiltrate data.
Combining bits of Microsoft 365 and other components together to form new solutions is a well-trodden path. Teams is the best example in the Microsoft 365 ecosystem because it borrows heavily from Exchange Online (calendar and compliance), SharePoint Online (file storage for channels), OneDrive for Business (file storage for chats), Planner, and a bunch of Azure microservices. Indeed, if Microsoft hadn’t used other services to assemble large parts of Teams, there’s no way that the application could have been as functional as it is today.
The compliance records captured by the Microsoft 365 substrate for Teams, Viva Engage, Planner, and Copilot interactions and stored in hidden folders in user mailboxes are another example. The compliance records are used by many Purview solutions like eDiscovery, communication compliance policies, and insider risk management.
DSI Incurs Costs for AI Processing
DSI doesn’t require a specific Microsoft 365 license. Instead, Microsoft charges for the security compute units (SCUs) and storage used by investigations. Part of configuring DSI for a tenant is to associate DSI with a valid Azure subscription that Purview can charge for processing costs. The costs are incurred when generative AI runs against a body of collected items to determine if any problems exist.
Other Microsoft solutions use SCUs are, such as Security Copilot investigations and the Entra ID agents for conditional access and access reviews. At the Ignite 2025 conference, Microsoft announced plans to bundle Security Copilot with Microsoft 365 E5, together with 400 “free” monthly SCUs per 1,000 licensed accounts. The SCUs bundled with Microsoft 365 E5 can be used for any purpose, but tenants without Microsoft 365 E5 must purchase SCUs. To help tenants understand the potential costs to run investigations, DSI includes a cost estimator (Figure 2).

Obviously, a large-scale investigation might cost a lot more than a smaller investigation because of the amount of data involved and the additional AI processing. Running a search estimate to find items of interest should tell you how much data is involved. Estimating the AI costs depends on how intensive the subsequent processing is.
For example, increasing the investigation size (data) from 1 GB to 15 GB resulted in monthly cost going from $323 to $587. Going to 60 GB of data increases the monthly cost to $1,436. Why figure out a monthly cost? Well, the nature of investigations is that they can last a long time, so a monthly figure is a good estimate to have.
Costs Can Mount Rapidly
Be careful about starting off a new data security investigation because you can incur costs from the start. As an example, while testing DSI out for this article, my Azure account racked up over $150 in costs. I assume this was for storage of items found by an investigation, but the cost came as as a surprise that disrupted operations because it blew the monthly Azure budget for my subscription (Figure 3) and disabled the subscription from running any Azure services until funding was available:

Interestingly, when I opened the Purview DSI page to remove the investigation that was racking up the Azure costs, I couldn’t access the investigation through the UX because DSI insisted that I had to set up an Azure subscription first. Because the subscription was blocked, I had to remove the investigation with PowerShell. Log into the Exchange Online management module and then run the Connect-IPPSsession cmdlet. Then find and remove the relevant compliance case using the Get-ComplianceCase cmdlet. DSI investigations have a case type of DataSecurityInvestigation:
Connect-IPPSSession -EnableSearchOnlySession Get-ComplianceCase -CaseType DataSecurityInvestigation Name Status CreatedDateTime ---- ------ --------------- DSI-2026-001 Active 02/01/2026 16:16:41 Remove-ComplianceCase -Identity DSI-2026-001 Confirm Are you sure you want to perform this action? Deleting the compliance case Identity:"DSI-2026-001" will also remove all searches and search actions associated with this case. Do you want to continue? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y Get-ComplianceCase -casetype DataSecurityInvestigation ...
Hard to Test DSI Effectiveness
Getting back to the question of how well DSI works, this is a difficult question for me to answer. I don’t have a compromised tenant to hand, so it’s difficult to test the outcome. The good thing about assembling a solution from off-the-shelf components from other Microsoft solutions is that the components usually work as expected. Because all I can feed the AI with is test data, the difficulty is to measure how well generative AI detects real problems in the data that it’s asked to assess. I’ll leave that exercise to a competent investigative team that’s coping with a real problem.
Insight like this doesn’t come easily. You’ve got to know the technology and understand how to look behind the scenes. Benefit from the knowledge and experience of the Office 365 for IT Pros team by subscribing to the best eBook covering Office 365 and the wider Microsoft 365 ecosystem.
Microsoft announces acquisition of Osmos to accelerate autonomous data engineering in Fabric
Today, Microsoft is announcing the acquisition of Osmos, an agentic AI data engineering platform designed to help simplify complex and time-consuming data workflows.
Microsoft + Osmos: Extending Microsoft Fabric with agentic AI for data engineering
Organizations today face a common challenge: data is everywhere, but making it actionable is often manual, slow and expensive. Many teams spend most of their time preparing data instead of analyzing it. Osmos solves this problem by applying agentic AI to turn raw data into analytics and AI-ready assets in OneLake, the unified data lake at the core of Microsoft Fabric.
This acquisition builds on Microsoft Fabric’s goal to enable customers to unify all data and analytics into a single, secure platform. With the acquisition of Osmos, we are taking the next step toward a future where autonomous AI agents work alongside people — helping reduce operational overhead and making it easier for customers to connect, prepare, analyze and share data across the organization.
Looking ahead: Empowering customers to unlock value from data
Today’s announcement reinforces Microsoft’s focus to help every organization unlock more value from their data faster and with greater simplicity. The Osmos team will join Microsoft’s Fabric engineering organization to advance our vision for simpler, more intuitive and AI-ready data experiences.
Stay tuned for updates as we integrate Osmos into Fabric and continue our journey to empower every organization to achieve more with data. To follow updates, visit the Microsoft Fabric Blog.
Bogdan Crivat leads Microsoft’s Azure Data Analytics, building the Fabric engines for big data behind Power BI, and our AI-powered analytics infrastructure.
The post Microsoft announces acquisition of Osmos to accelerate autonomous data engineering in Fabric appeared first on The Official Microsoft Blog.
Today, Microsoft is announcing the acquisition of Osmos, an agentic AI data engineering platform designed to help simplify complex and time-consuming data workflows. Microsoft + Osmos: Extending Microsoft Fabric with agentic AI for data engineering Organizations today face a common challenge: data is everywhere, but making it actionable is often manual, slow and expensive. Many…
The post Microsoft announces acquisition of Osmos to accelerate autonomous data engineering in Fabric appeared first on The Official Microsoft Blog.Read More
SharePoint Online Dumps Legacy Compliance Features
Four Legacy SharePoint Compliance Features to Retire in April 2026
Message center notification MC1211579 (3 January 2026) announces the retirement of several legacy SharePoint (Server) compliance features from SharePoint Online. The features are:
- Information Management Policies.
- In-Place Records Management.
- Document deletion policies (deletion only – part of the SharePoint compliance center).
- Policies for site closure and deletion (deletion only).
Retirement will happen in April 2026. When this happens, users might discover that a feature disappears from the SharePoint Online UX. For instance, Microsoft is likely to remove the option to configure an information management policy setting for a document library (Figure 1). Attempts to get support from Microsoft will be doomed to failure and the removal of configuration options for the features from SharePoint Online will mean that it will no longer be possible to update these options. Finally, background jobs or other processing that support the retired features may (read “will”) stop functioning.

Migrating from SharePoint Compliance to Purview
Of course, none of this will happen immediately and it’s likely that it will take some time before the retired features are finally removed from SharePoint Online, but retirement means retirement and it’s time for tenants to move to a more modern compliance platform, which means Microsoft Purview. In this case, the Purview Data Lifecycle management and Purview Records management solutions.
Microsoft provides some migration guidance here. However, migration is manual and there is no way available to move from the legacy features to Purview.
An Unsurprising Development
It’s unsurprising that Microsoft should move to remove legacy SharePoint Server compliance features from SharePoint Online. Apart from reducing engineering and support effort required to keep the old features in place, the old code is a pale reflection of what Purview is capable of and it’s where any future investment will go. I can’t think of the last time that I saw the soon-to-be-retired features in active use.
Tenants will gain extra functionality through the move. However, licensing might be an issue for some. Unlike the old compliance functionality that’s incorporated into SharePoint and available to all users, Purview Data Lifecycle management requires user accounts to have a minimum of Microsoft 365 Business Premium for manual retention (apply retention labels to files) or Microsoft 365/Office 365 E5 for automatic retention. Records management is an E5 feature.
The same licensing issue arises for Exchange Online, which includes the mailbox retention management (MRM) system spanning mailbox retention policies and retention tags developed for Exchange Server in its base license. Even though Purview Data Lifecycle management lags mailbox retention policies in some respects like the ability to move items to an archive mailbox, adopting Microsoft 365 retention policies can involve additional licensing.
No Room for Old Stuff
Given that SharePoint is approaching its 25th anniversary in 2026, it’s not strange that some old features are still in SharePoint Online. Even though Microsoft has just given the main browser interface a refresh, there are many places where the 2010-2013 style UX (or even earlier) break through if you go looking. As always, the question is whether to spend engineering time on new features or to refresh or rebuild old features.
With Microsoft’s current focus on agents and artificial intelligence (like the new SharePoint list agent described in MC1208689 from 29 December 2025), it seems like the answer is clear, especially for features that are well past their best-by date.
So much change, all the time. It’s a challenge to stay abreast of all the updates Microsoft makes across the Microsoft 365 ecosystem. Subscribe to the Office 365 for IT Pros eBook to receive insights updated monthly into what happens within Microsoft 365, why it happens, and what new features and capabilities mean for your tenant.
Error replacing .so library
When using MATLAB/Simulink to control an Ettus USRP B210, I encountered the following issue: I modified several parts of the UHD driver and compiled it into a .so file. I want to replace the .so file used by Simulink with my own version, but an error indicates that libtre_hash.so.2 is missing. Is it possible to use my modified driver with Simulink to control the USRP?When using MATLAB/Simulink to control an Ettus USRP B210, I encountered the following issue: I modified several parts of the UHD driver and compiled it into a .so file. I want to replace the .so file used by Simulink with my own version, but an error indicates that libtre_hash.so.2 is missing. Is it possible to use my modified driver with Simulink to control the USRP? When using MATLAB/Simulink to control an Ettus USRP B210, I encountered the following issue: I modified several parts of the UHD driver and compiled it into a .so file. I want to replace the .so file used by Simulink with my own version, but an error indicates that libtre_hash.so.2 is missing. Is it possible to use my modified driver with Simulink to control the USRP? simulink, ,r2023b MATLAB Answers — New Questions
Putting spaces between elements of a string/
I have found some graph resources that list the adjacency matrices as strings of numbers without spaces, such as:
011001110000
101111000000
110100011000
011010001100
010101000110
110010100010
100001010011
101000101001
001100010101
000110001011
000011100101
000000111110
I would like to insert spaces between each digit, so that I can use it as my adjacency matrix in Matlab. Is there a good way to do this? The matrices will all be square, but of different sizes.I have found some graph resources that list the adjacency matrices as strings of numbers without spaces, such as:
011001110000
101111000000
110100011000
011010001100
010101000110
110010100010
100001010011
101000101001
001100010101
000110001011
000011100101
000000111110
I would like to insert spaces between each digit, so that I can use it as my adjacency matrix in Matlab. Is there a good way to do this? The matrices will all be square, but of different sizes. I have found some graph resources that list the adjacency matrices as strings of numbers without spaces, such as:
011001110000
101111000000
110100011000
011010001100
010101000110
110010100010
100001010011
101000101001
001100010101
000110001011
000011100101
000000111110
I would like to insert spaces between each digit, so that I can use it as my adjacency matrix in Matlab. Is there a good way to do this? The matrices will all be square, but of different sizes. adjacency matrix, strings, spaces, formatting MATLAB Answers — New Questions
Why t_tide prediction is offseted?
Hi, i’m trying to use t_tide_v1.4beta using matlab R2016a in 2 ways like in t_tide example but the result of the harmonic constants is not similar and the prediction is not similar between prediction also offseted to the observation data. Help me please. Herewith the code and the data that I use.
Code:
clear
clc
%format LONGG
%load t_example
% load data excel
data = readtable(‘D:TestT_Tidet_tide_v1.4betakmna_wnan.xlsx’);
time_axis = datetime(data.waktu);
data_time = datenum(time_axis);
obs_value = data.ukuran;
% Analisis Harminik
%—————————————————————————
% Way 1
% analisys
[NAME,FREQ,TIDECON,XOUT] = t_tide(obs_value,’interval’,1,’start’,data_time(1),’latitude’,-3.66295,’synthesis’,1);
% prediction
YOUT=t_predic(data_time,NAME,FREQ,TIDECON,’latitude’,-3.66295,’synthesis’,1);
% Way 2
% analisys
[HarKons,XOUT2]=t_tide(obs_value,’interval’,1,’start’,data_time(1),’latitude’,-3.66295,’rayleigh’,1,’synthesis’,1);
% prediction
% YOUT=T_PREDIC(TIM,TIDESTRUC,…)
YOUTHarKons1=t_predic(data_time,HarKons,’latitude’,-3.66295,’synthesis’,1);
YOUTHarKons2=t_predic(data_time,HarKons);
%% visualisasi
figure(1)
plot(time_axis,obs_value,’b’,’LineWidth’,1.5); hold on
plot(time_axis,XOUT,’r–‘,’LineWidth’,1.5); hold on
plot(time_axis,YOUT,’c.’,’LineWidth’,1.5); hold on
plot(time_axis,YOUTHarKons1,’kx’,’LineWidth’,1.5); hold on
plot(time_axis,YOUTHarKons2,’ko’,’LineWidth’,1.5); hold on
title(‘Tidal Elevation’,’FontSize’,14,’fontWeight’,’b’)
legend({‘obs_value’, ‘XOUT’, ‘YOUT’, ‘YOUTHarKons1’, ‘YOUTHarKons2′},’FontSize’, 10, ‘FontWeight’, ‘bold’, ‘Location’, ‘northeastoutside’);
xlabel(‘Time’,’FontSize’,14,’FontWeight’,’b’)
ylabel(‘Elevation (m)’,’FontSize’,14,’FontWeight’,’b’)
% Format sumbu X agar menampilkan tanggal/waktu
% datetick(‘x’, ‘dd/mm/yyyy HH:MM:ss’, ‘keepticks’, ‘keeplimits’)
grid on
Tidal graph obs_value and prediction:
Data:Hi, i’m trying to use t_tide_v1.4beta using matlab R2016a in 2 ways like in t_tide example but the result of the harmonic constants is not similar and the prediction is not similar between prediction also offseted to the observation data. Help me please. Herewith the code and the data that I use.
Code:
clear
clc
%format LONGG
%load t_example
% load data excel
data = readtable(‘D:TestT_Tidet_tide_v1.4betakmna_wnan.xlsx’);
time_axis = datetime(data.waktu);
data_time = datenum(time_axis);
obs_value = data.ukuran;
% Analisis Harminik
%—————————————————————————
% Way 1
% analisys
[NAME,FREQ,TIDECON,XOUT] = t_tide(obs_value,’interval’,1,’start’,data_time(1),’latitude’,-3.66295,’synthesis’,1);
% prediction
YOUT=t_predic(data_time,NAME,FREQ,TIDECON,’latitude’,-3.66295,’synthesis’,1);
% Way 2
% analisys
[HarKons,XOUT2]=t_tide(obs_value,’interval’,1,’start’,data_time(1),’latitude’,-3.66295,’rayleigh’,1,’synthesis’,1);
% prediction
% YOUT=T_PREDIC(TIM,TIDESTRUC,…)
YOUTHarKons1=t_predic(data_time,HarKons,’latitude’,-3.66295,’synthesis’,1);
YOUTHarKons2=t_predic(data_time,HarKons);
%% visualisasi
figure(1)
plot(time_axis,obs_value,’b’,’LineWidth’,1.5); hold on
plot(time_axis,XOUT,’r–‘,’LineWidth’,1.5); hold on
plot(time_axis,YOUT,’c.’,’LineWidth’,1.5); hold on
plot(time_axis,YOUTHarKons1,’kx’,’LineWidth’,1.5); hold on
plot(time_axis,YOUTHarKons2,’ko’,’LineWidth’,1.5); hold on
title(‘Tidal Elevation’,’FontSize’,14,’fontWeight’,’b’)
legend({‘obs_value’, ‘XOUT’, ‘YOUT’, ‘YOUTHarKons1’, ‘YOUTHarKons2′},’FontSize’, 10, ‘FontWeight’, ‘bold’, ‘Location’, ‘northeastoutside’);
xlabel(‘Time’,’FontSize’,14,’FontWeight’,’b’)
ylabel(‘Elevation (m)’,’FontSize’,14,’FontWeight’,’b’)
% Format sumbu X agar menampilkan tanggal/waktu
% datetick(‘x’, ‘dd/mm/yyyy HH:MM:ss’, ‘keepticks’, ‘keeplimits’)
grid on
Tidal graph obs_value and prediction:
Data: Hi, i’m trying to use t_tide_v1.4beta using matlab R2016a in 2 ways like in t_tide example but the result of the harmonic constants is not similar and the prediction is not similar between prediction also offseted to the observation data. Help me please. Herewith the code and the data that I use.
Code:
clear
clc
%format LONGG
%load t_example
% load data excel
data = readtable(‘D:TestT_Tidet_tide_v1.4betakmna_wnan.xlsx’);
time_axis = datetime(data.waktu);
data_time = datenum(time_axis);
obs_value = data.ukuran;
% Analisis Harminik
%—————————————————————————
% Way 1
% analisys
[NAME,FREQ,TIDECON,XOUT] = t_tide(obs_value,’interval’,1,’start’,data_time(1),’latitude’,-3.66295,’synthesis’,1);
% prediction
YOUT=t_predic(data_time,NAME,FREQ,TIDECON,’latitude’,-3.66295,’synthesis’,1);
% Way 2
% analisys
[HarKons,XOUT2]=t_tide(obs_value,’interval’,1,’start’,data_time(1),’latitude’,-3.66295,’rayleigh’,1,’synthesis’,1);
% prediction
% YOUT=T_PREDIC(TIM,TIDESTRUC,…)
YOUTHarKons1=t_predic(data_time,HarKons,’latitude’,-3.66295,’synthesis’,1);
YOUTHarKons2=t_predic(data_time,HarKons);
%% visualisasi
figure(1)
plot(time_axis,obs_value,’b’,’LineWidth’,1.5); hold on
plot(time_axis,XOUT,’r–‘,’LineWidth’,1.5); hold on
plot(time_axis,YOUT,’c.’,’LineWidth’,1.5); hold on
plot(time_axis,YOUTHarKons1,’kx’,’LineWidth’,1.5); hold on
plot(time_axis,YOUTHarKons2,’ko’,’LineWidth’,1.5); hold on
title(‘Tidal Elevation’,’FontSize’,14,’fontWeight’,’b’)
legend({‘obs_value’, ‘XOUT’, ‘YOUT’, ‘YOUTHarKons1’, ‘YOUTHarKons2′},’FontSize’, 10, ‘FontWeight’, ‘bold’, ‘Location’, ‘northeastoutside’);
xlabel(‘Time’,’FontSize’,14,’FontWeight’,’b’)
ylabel(‘Elevation (m)’,’FontSize’,14,’FontWeight’,’b’)
% Format sumbu X agar menampilkan tanggal/waktu
% datetick(‘x’, ‘dd/mm/yyyy HH:MM:ss’, ‘keepticks’, ‘keeplimits’)
grid on
Tidal graph obs_value and prediction:
Data: t_tide MATLAB Answers — New Questions
The assignment of workers to cores
Hello, we are planning to buy an MDSC of 128 workers.
In running a parallel job of 128 workers, what is the minimum number of cores should there be in the hardware platform that I am going to use? How many workers can I assign to each core of the machine at the maximum ?
Would appreciate your answer. ThanksHello, we are planning to buy an MDSC of 128 workers.
In running a parallel job of 128 workers, what is the minimum number of cores should there be in the hardware platform that I am going to use? How many workers can I assign to each core of the machine at the maximum ?
Would appreciate your answer. Thanks Hello, we are planning to buy an MDSC of 128 workers.
In running a parallel job of 128 workers, what is the minimum number of cores should there be in the hardware platform that I am going to use? How many workers can I assign to each core of the machine at the maximum ?
Would appreciate your answer. Thanks parallel computing MATLAB Answers — New Questions
License checkout failed – License Manager Error -9
License checkout failed.
License Manager Error -9
Your username does not match the username in the license file.
To run MATLAB on this computer, you must run the Activation client to reactivate your license.
Troubleshoot this issue by visiting:
http://www.mathworks.com/support/lme/R2015b/9
Diagnostic Information:
Feature: MATLAB
License path: /home/mpva/.matlab/R2015b_licenses:/usr/local/MATLAB/R2015b/licenses/license.dat:/usr/local/MATLAB/R
2015b/licenses/license_OptiPlex-960_1066905_R2015b.lic
Licensing error: -9,57.License checkout failed.
License Manager Error -9
Your username does not match the username in the license file.
To run MATLAB on this computer, you must run the Activation client to reactivate your license.
Troubleshoot this issue by visiting:
http://www.mathworks.com/support/lme/R2015b/9
Diagnostic Information:
Feature: MATLAB
License path: /home/mpva/.matlab/R2015b_licenses:/usr/local/MATLAB/R2015b/licenses/license.dat:/usr/local/MATLAB/R
2015b/licenses/license_OptiPlex-960_1066905_R2015b.lic
Licensing error: -9,57. License checkout failed.
License Manager Error -9
Your username does not match the username in the license file.
To run MATLAB on this computer, you must run the Activation client to reactivate your license.
Troubleshoot this issue by visiting:
http://www.mathworks.com/support/lme/R2015b/9
Diagnostic Information:
Feature: MATLAB
License path: /home/mpva/.matlab/R2015b_licenses:/usr/local/MATLAB/R2015b/licenses/license.dat:/usr/local/MATLAB/R
2015b/licenses/license_OptiPlex-960_1066905_R2015b.lic
Licensing error: -9,57. license error MATLAB Answers — New Questions
how to plot these 2 column data into a curve on oxy plane
pls see the attached,
Thanks &Br,
Tony.wangpls see the attached,
Thanks &Br,
Tony.wang pls see the attached,
Thanks &Br,
Tony.wang plotting data into a curve MATLAB Answers — New Questions
How to remove this red line in my micro-doppler analysis?
Here is my main code, I look the spectograms but I only see a red strip just near to the middle bins, which I assume that it is an object with zero speed.
rFFT = fft(mDopplerAvg.*win, [],1);
rFFT = rFFT – mean(rFFT, 2);
% Obtain range bins that include a target
rangePower = mean(abs(rFFT).^2,2);
% Do not use first few bins as they would probably include DC peaks due
% to antenna leakage (can be adjusted empirically)
rangeVar = var(abs(rFFT), 0, 2);
rangeVar(1:6) = 0;
[~, targetIdx] = max(rangeVar);
slowTime = rFFT(targetIdx,:);
Here, the mDopplerAvg is the raw I/Q matrix that I process for micro-Doppler. I have applied some tricks in order that the static zero speed object (the red strip) go away. However, it didn’t work. At the last of the code, the classic short time Fourier transform is applied along the second axis, and I think the size of the spectogram is well-configurated. I almost always obtain a map just like below.Here is my main code, I look the spectograms but I only see a red strip just near to the middle bins, which I assume that it is an object with zero speed.
rFFT = fft(mDopplerAvg.*win, [],1);
rFFT = rFFT – mean(rFFT, 2);
% Obtain range bins that include a target
rangePower = mean(abs(rFFT).^2,2);
% Do not use first few bins as they would probably include DC peaks due
% to antenna leakage (can be adjusted empirically)
rangeVar = var(abs(rFFT), 0, 2);
rangeVar(1:6) = 0;
[~, targetIdx] = max(rangeVar);
slowTime = rFFT(targetIdx,:);
Here, the mDopplerAvg is the raw I/Q matrix that I process for micro-Doppler. I have applied some tricks in order that the static zero speed object (the red strip) go away. However, it didn’t work. At the last of the code, the classic short time Fourier transform is applied along the second axis, and I think the size of the spectogram is well-configurated. I almost always obtain a map just like below. Here is my main code, I look the spectograms but I only see a red strip just near to the middle bins, which I assume that it is an object with zero speed.
rFFT = fft(mDopplerAvg.*win, [],1);
rFFT = rFFT – mean(rFFT, 2);
% Obtain range bins that include a target
rangePower = mean(abs(rFFT).^2,2);
% Do not use first few bins as they would probably include DC peaks due
% to antenna leakage (can be adjusted empirically)
rangeVar = var(abs(rFFT), 0, 2);
rangeVar(1:6) = 0;
[~, targetIdx] = max(rangeVar);
slowTime = rFFT(targetIdx,:);
Here, the mDopplerAvg is the raw I/Q matrix that I process for micro-Doppler. I have applied some tricks in order that the static zero speed object (the red strip) go away. However, it didn’t work. At the last of the code, the classic short time Fourier transform is applied along the second axis, and I think the size of the spectogram is well-configurated. I almost always obtain a map just like below. i/q, radar, signal processing, filtering MATLAB Answers — New Questions
Implicit expansion with arrayfun (cpu vs gpu)
I find very convenient that Matlab allows for implicit expansion since the 2016 version (for an explanation, see this nice article: https://blogs.mathworks.com/loren/2016/10/24/matlab-arithmetic-expands-in-r2016b/?s_tid=blogs_rc_1).
I was then puzzled to discover that arrayfun on the cpu does not allow for it, while arrayfun when called with gpu arrays does allow for implicit expansion. Below is a MWE to demonstrate this behavior.
Let me quickly explain it: if I have two vectors x with size [2,1] and y with size [1,2], I can calculate the sum x+y and get a matrix 2*2 as intended. This is better than the ugly and more memory-intensive
repmat(x,1,2)+repmat(y,2,1)
Unfortunately this does not work with arrayfun on the cpu!
Since I code both using normal arrays and GPU arrays, I find this different behavior of arrayfun quite misleading. It would be great if Matlab could allow implicit expansion also on arrayfun cpu. When I have large arrays, duplicating dimensions with repmat takes a lot of memory.
%% Demonstration of implicit expansion support in MATLAB and arrayfun
% This script shows that:
% 1) MATLAB supports implicit expansion for standard array operations.
% 2) arrayfun on the GPU supports implicit expansion.
% 3) arrayfun on the CPU does NOT support implicit expansion!!
%
% Implicit expansion allows a 2×1 vector to be added to a 1×2 vector,
% producing a 2×2 matrix.
clear; clc; close all;
% Define test vectors
x = [1; 2]; % Column vector (2×1)
y = [1, 2]; % Row vector (1×2)
%% Implicit expansion using standard MATLAB operations
F1 = myadd(x, y);
%% Implicit expansion using arrayfun on the GPU
F2 = arrayfun(@myadd, gpuArray(x), gpuArray(y));
%% Attempt implicit expansion using arrayfun on the CPU (expected to fail)
try
F3 = arrayfun(@myadd, x, y);
catch ME
fprintf(‘CPU arrayfun error (expected):n%snn’, ME.message);
end
%% Function myadd
function F = myadd(x, y)
% Element-wise addition
F = x + y;
endI find very convenient that Matlab allows for implicit expansion since the 2016 version (for an explanation, see this nice article: https://blogs.mathworks.com/loren/2016/10/24/matlab-arithmetic-expands-in-r2016b/?s_tid=blogs_rc_1).
I was then puzzled to discover that arrayfun on the cpu does not allow for it, while arrayfun when called with gpu arrays does allow for implicit expansion. Below is a MWE to demonstrate this behavior.
Let me quickly explain it: if I have two vectors x with size [2,1] and y with size [1,2], I can calculate the sum x+y and get a matrix 2*2 as intended. This is better than the ugly and more memory-intensive
repmat(x,1,2)+repmat(y,2,1)
Unfortunately this does not work with arrayfun on the cpu!
Since I code both using normal arrays and GPU arrays, I find this different behavior of arrayfun quite misleading. It would be great if Matlab could allow implicit expansion also on arrayfun cpu. When I have large arrays, duplicating dimensions with repmat takes a lot of memory.
%% Demonstration of implicit expansion support in MATLAB and arrayfun
% This script shows that:
% 1) MATLAB supports implicit expansion for standard array operations.
% 2) arrayfun on the GPU supports implicit expansion.
% 3) arrayfun on the CPU does NOT support implicit expansion!!
%
% Implicit expansion allows a 2×1 vector to be added to a 1×2 vector,
% producing a 2×2 matrix.
clear; clc; close all;
% Define test vectors
x = [1; 2]; % Column vector (2×1)
y = [1, 2]; % Row vector (1×2)
%% Implicit expansion using standard MATLAB operations
F1 = myadd(x, y);
%% Implicit expansion using arrayfun on the GPU
F2 = arrayfun(@myadd, gpuArray(x), gpuArray(y));
%% Attempt implicit expansion using arrayfun on the CPU (expected to fail)
try
F3 = arrayfun(@myadd, x, y);
catch ME
fprintf(‘CPU arrayfun error (expected):n%snn’, ME.message);
end
%% Function myadd
function F = myadd(x, y)
% Element-wise addition
F = x + y;
end I find very convenient that Matlab allows for implicit expansion since the 2016 version (for an explanation, see this nice article: https://blogs.mathworks.com/loren/2016/10/24/matlab-arithmetic-expands-in-r2016b/?s_tid=blogs_rc_1).
I was then puzzled to discover that arrayfun on the cpu does not allow for it, while arrayfun when called with gpu arrays does allow for implicit expansion. Below is a MWE to demonstrate this behavior.
Let me quickly explain it: if I have two vectors x with size [2,1] and y with size [1,2], I can calculate the sum x+y and get a matrix 2*2 as intended. This is better than the ugly and more memory-intensive
repmat(x,1,2)+repmat(y,2,1)
Unfortunately this does not work with arrayfun on the cpu!
Since I code both using normal arrays and GPU arrays, I find this different behavior of arrayfun quite misleading. It would be great if Matlab could allow implicit expansion also on arrayfun cpu. When I have large arrays, duplicating dimensions with repmat takes a lot of memory.
%% Demonstration of implicit expansion support in MATLAB and arrayfun
% This script shows that:
% 1) MATLAB supports implicit expansion for standard array operations.
% 2) arrayfun on the GPU supports implicit expansion.
% 3) arrayfun on the CPU does NOT support implicit expansion!!
%
% Implicit expansion allows a 2×1 vector to be added to a 1×2 vector,
% producing a 2×2 matrix.
clear; clc; close all;
% Define test vectors
x = [1; 2]; % Column vector (2×1)
y = [1, 2]; % Row vector (1×2)
%% Implicit expansion using standard MATLAB operations
F1 = myadd(x, y);
%% Implicit expansion using arrayfun on the GPU
F2 = arrayfun(@myadd, gpuArray(x), gpuArray(y));
%% Attempt implicit expansion using arrayfun on the CPU (expected to fail)
try
F3 = arrayfun(@myadd, x, y);
catch ME
fprintf(‘CPU arrayfun error (expected):n%snn’, ME.message);
end
%% Function myadd
function F = myadd(x, y)
% Element-wise addition
F = x + y;
end arrayfun, implicit expansion MATLAB Answers — New Questions
Simscape License Checkout failed using Simulink Online in self-paced Online Course “Power Electronics Simulation Onramp”
When using "simulink online" in the Browser window for my self-paced online course "Power Electronics Simulation Onramp", I get a "license manager error -5, Cannot find a license for simscape." message. I am aware, that I do not possess a simscape license, but this should only matter when using my local matlab installation. In simulink online, all required licenses to complete a self-paced online course should be available.
Complete error message copied from command window:
License checkout failed.
License Manager Error -5
Cannot find a license for power_system_blocks.
Troubleshoot this issue by visiting:
https://www.mathworks.com/support/lme/5
Diagnostic Information:
Feature: power_system_blocks
License path: 13501@10.168.81.22:13501@10.168.115.247:13501@10.168.145.231:13501@10.168.84.206:13501@10.168.101.121:13501@10.168.131.14:/home/matlab/.matlab/R2023a_licenses:/MATLAB/licenses/license.dat:/MATLAB/licenses
Licensing error: -5,0.
License checkout failed.
License Manager Error -5
Cannot find a license for simscape.
Troubleshoot this issue by visiting:
https://www.mathworks.com/support/lme/5
Diagnostic Information:
Feature: simscape
License path: 13501@10.168.81.22:13501@10.168.115.247:13501@10.168.145.231:13501@10.168.84.206:13501@10.168.101.121:13501@10.168.131.14:/home/matlab/.matlab/R2023a_licenses:/MATLAB/licenses/license.dat:/MATLAB/licenses
Licensing error: -5,0.
Error using learning.simulink.launchOnramp
Unable to check out a Simscape Electrical license, which is required by Power Electronics Simulation Onramp.
Alternatively, you can take the course on the MathWorks Self-Paced Online Courses website.When using "simulink online" in the Browser window for my self-paced online course "Power Electronics Simulation Onramp", I get a "license manager error -5, Cannot find a license for simscape." message. I am aware, that I do not possess a simscape license, but this should only matter when using my local matlab installation. In simulink online, all required licenses to complete a self-paced online course should be available.
Complete error message copied from command window:
License checkout failed.
License Manager Error -5
Cannot find a license for power_system_blocks.
Troubleshoot this issue by visiting:
https://www.mathworks.com/support/lme/5
Diagnostic Information:
Feature: power_system_blocks
License path: 13501@10.168.81.22:13501@10.168.115.247:13501@10.168.145.231:13501@10.168.84.206:13501@10.168.101.121:13501@10.168.131.14:/home/matlab/.matlab/R2023a_licenses:/MATLAB/licenses/license.dat:/MATLAB/licenses
Licensing error: -5,0.
License checkout failed.
License Manager Error -5
Cannot find a license for simscape.
Troubleshoot this issue by visiting:
https://www.mathworks.com/support/lme/5
Diagnostic Information:
Feature: simscape
License path: 13501@10.168.81.22:13501@10.168.115.247:13501@10.168.145.231:13501@10.168.84.206:13501@10.168.101.121:13501@10.168.131.14:/home/matlab/.matlab/R2023a_licenses:/MATLAB/licenses/license.dat:/MATLAB/licenses
Licensing error: -5,0.
Error using learning.simulink.launchOnramp
Unable to check out a Simscape Electrical license, which is required by Power Electronics Simulation Onramp.
Alternatively, you can take the course on the MathWorks Self-Paced Online Courses website. When using "simulink online" in the Browser window for my self-paced online course "Power Electronics Simulation Onramp", I get a "license manager error -5, Cannot find a license for simscape." message. I am aware, that I do not possess a simscape license, but this should only matter when using my local matlab installation. In simulink online, all required licenses to complete a self-paced online course should be available.
Complete error message copied from command window:
License checkout failed.
License Manager Error -5
Cannot find a license for power_system_blocks.
Troubleshoot this issue by visiting:
https://www.mathworks.com/support/lme/5
Diagnostic Information:
Feature: power_system_blocks
License path: 13501@10.168.81.22:13501@10.168.115.247:13501@10.168.145.231:13501@10.168.84.206:13501@10.168.101.121:13501@10.168.131.14:/home/matlab/.matlab/R2023a_licenses:/MATLAB/licenses/license.dat:/MATLAB/licenses
Licensing error: -5,0.
License checkout failed.
License Manager Error -5
Cannot find a license for simscape.
Troubleshoot this issue by visiting:
https://www.mathworks.com/support/lme/5
Diagnostic Information:
Feature: simscape
License path: 13501@10.168.81.22:13501@10.168.115.247:13501@10.168.145.231:13501@10.168.84.206:13501@10.168.101.121:13501@10.168.131.14:/home/matlab/.matlab/R2023a_licenses:/MATLAB/licenses/license.dat:/MATLAB/licenses
Licensing error: -5,0.
Error using learning.simulink.launchOnramp
Unable to check out a Simscape Electrical license, which is required by Power Electronics Simulation Onramp.
Alternatively, you can take the course on the MathWorks Self-Paced Online Courses website. simulink online, license checkout failed, simscape, online course MATLAB Answers — New Questions
Why does my prediction always show high risk?
Hello everyone.
I want to ask a question regarding my final year project.
I’m currently doing a prediction system using:
UCI heart disease dataset.
Ensemble method (Subspace Discriminant) trained model from Classifier Learner App.
a GUI from app designer.
The system shown no problem when detecting a high parameter for high risk patient data and correctly shows ‘Heart Disease Detected’ but for a low parameter for a normal patient data it still shows the output as ‘Heart Disease Detected’. It is because of the dataset’s value comes from patients that already suspect with heart disease or the model used is sensitive. The GUI screenshot is suppose to be a normal patient data.
If you have an insight about this please share with me. Thank you.
I’ll share the coding used in the app designer and the GUI with some of the patient attribute data where the target is suppose to be the outcome of this system prediction.
properties (Access = private)
modelData = load(‘HeartModel.mat’,’trainedModel’);
end
methods (Access = private)
function startupFcn(app)
% Set DropDown items and ItemsData for numerical values
% Sex
app.SexDropDown.Items = {‘Female’, ‘Male’};
app.SexDropDown.ItemsData = [0, 1];
% Chest Pain (cp)
app.ChestPainDropDown.Items = {‘Normal’,’Typical Angina’, ‘Atypical Angina’, ‘Non-anginal Pain’, ‘Asymptomatic’};
app.ChestPainDropDown.ItemsData = [0, 1, 2, 3, 4];
% Fasting Blood Sugar (fbs)
app.FastingBloodSugarDropDown.Items = {‘<= 120 mg/dL’, ‘> 120 mg/dL’};
app.FastingBloodSugarDropDown.ItemsData = [0, 1];
% Rest ECG (restecg)
app.RestECGDropDown.Items = {‘Normal’, ‘ST-T Wave Abnormality’, ‘LV Hypertrophy’};
app.RestECGDropDown.ItemsData = [0, 1, 2];
% Slope
app.SlopeDropDown.Items = {‘Upsloping’, ‘Flat’, ‘Downsloping’};
app.SlopeDropDown.ItemsData = [1, 2, 3];
% Exercise Angina (exang)
app.ExerciseAnginaDropDown.Items = {‘No’, ‘Yes’};
app.ExerciseAnginaDropDown.ItemsData = [0, 1];
% CA
app.CADropDown.Items = {‘0’, ‘1’, ‘2’, ‘3’};
app.CADropDown.ItemsData = [0, 1, 2, 3];
% Thal
app.ThalDropDown.Items = {‘Normal’, ‘Fixed Defect’, ‘Reversible Defect’};
app.ThalDropDown.ItemsData = [3, 6, 7];
end
end
% Button pushed function: PredictButton
function PredictButtonPushed(app, event)
% Collect all inputs (convert to double to be safe)
age = double(app.AgeEditField.Value);
sex = double(app.SexDropDown.Value);
cp = double(app.ChestPainDropDown.Value);
trestbps = double(app.RestingBPEditField.Value);
chol = double(app.CholesterolEditField.Value);
fbs = double(app.FastingBloodSugarDropDown.Value);
restecg = double(app.RestECGDropDown.Value);
thalach = double(app.MaxHeartRateEditField.Value);
exang = double(app.ExerciseAnginaDropDown.Value);
oldpeak = double(app.OldpeakEditField.Value);
slope = double(app.SlopeDropDown.Value);
ca = double(app.CADropDown.Value);
thal = double(app.ThalDropDown.Value);
% Create input table
T = table(age, sex, cp, trestbps, chol, fbs, restecg, thalach, …
exang, oldpeak, slope, ca, thal, …
‘VariableNames’, {‘age’,’sex’,’cp’,’trestbps’,’chol’,’fbs’,…
‘restecg’,’thalach’,’exang’,’oldpeak’,…
‘slope’,’ca’,’thal’});
%Prediction
label = app.modelData.trainedModel.predictFcn(T);
% Display result
if label == 0
app.ResultLabel.Text = ‘No Heart Disease’;
app.ResultLabel.FontColor = [0 1 0]; % Green
else
app.ResultLabel.Text = ‘Heart Disease Detected’;
app.ResultLabel.FontColor = [1 0 0]; % Red
endHello everyone.
I want to ask a question regarding my final year project.
I’m currently doing a prediction system using:
UCI heart disease dataset.
Ensemble method (Subspace Discriminant) trained model from Classifier Learner App.
a GUI from app designer.
The system shown no problem when detecting a high parameter for high risk patient data and correctly shows ‘Heart Disease Detected’ but for a low parameter for a normal patient data it still shows the output as ‘Heart Disease Detected’. It is because of the dataset’s value comes from patients that already suspect with heart disease or the model used is sensitive. The GUI screenshot is suppose to be a normal patient data.
If you have an insight about this please share with me. Thank you.
I’ll share the coding used in the app designer and the GUI with some of the patient attribute data where the target is suppose to be the outcome of this system prediction.
properties (Access = private)
modelData = load(‘HeartModel.mat’,’trainedModel’);
end
methods (Access = private)
function startupFcn(app)
% Set DropDown items and ItemsData for numerical values
% Sex
app.SexDropDown.Items = {‘Female’, ‘Male’};
app.SexDropDown.ItemsData = [0, 1];
% Chest Pain (cp)
app.ChestPainDropDown.Items = {‘Normal’,’Typical Angina’, ‘Atypical Angina’, ‘Non-anginal Pain’, ‘Asymptomatic’};
app.ChestPainDropDown.ItemsData = [0, 1, 2, 3, 4];
% Fasting Blood Sugar (fbs)
app.FastingBloodSugarDropDown.Items = {‘<= 120 mg/dL’, ‘> 120 mg/dL’};
app.FastingBloodSugarDropDown.ItemsData = [0, 1];
% Rest ECG (restecg)
app.RestECGDropDown.Items = {‘Normal’, ‘ST-T Wave Abnormality’, ‘LV Hypertrophy’};
app.RestECGDropDown.ItemsData = [0, 1, 2];
% Slope
app.SlopeDropDown.Items = {‘Upsloping’, ‘Flat’, ‘Downsloping’};
app.SlopeDropDown.ItemsData = [1, 2, 3];
% Exercise Angina (exang)
app.ExerciseAnginaDropDown.Items = {‘No’, ‘Yes’};
app.ExerciseAnginaDropDown.ItemsData = [0, 1];
% CA
app.CADropDown.Items = {‘0’, ‘1’, ‘2’, ‘3’};
app.CADropDown.ItemsData = [0, 1, 2, 3];
% Thal
app.ThalDropDown.Items = {‘Normal’, ‘Fixed Defect’, ‘Reversible Defect’};
app.ThalDropDown.ItemsData = [3, 6, 7];
end
end
% Button pushed function: PredictButton
function PredictButtonPushed(app, event)
% Collect all inputs (convert to double to be safe)
age = double(app.AgeEditField.Value);
sex = double(app.SexDropDown.Value);
cp = double(app.ChestPainDropDown.Value);
trestbps = double(app.RestingBPEditField.Value);
chol = double(app.CholesterolEditField.Value);
fbs = double(app.FastingBloodSugarDropDown.Value);
restecg = double(app.RestECGDropDown.Value);
thalach = double(app.MaxHeartRateEditField.Value);
exang = double(app.ExerciseAnginaDropDown.Value);
oldpeak = double(app.OldpeakEditField.Value);
slope = double(app.SlopeDropDown.Value);
ca = double(app.CADropDown.Value);
thal = double(app.ThalDropDown.Value);
% Create input table
T = table(age, sex, cp, trestbps, chol, fbs, restecg, thalach, …
exang, oldpeak, slope, ca, thal, …
‘VariableNames’, {‘age’,’sex’,’cp’,’trestbps’,’chol’,’fbs’,…
‘restecg’,’thalach’,’exang’,’oldpeak’,…
‘slope’,’ca’,’thal’});
%Prediction
label = app.modelData.trainedModel.predictFcn(T);
% Display result
if label == 0
app.ResultLabel.Text = ‘No Heart Disease’;
app.ResultLabel.FontColor = [0 1 0]; % Green
else
app.ResultLabel.Text = ‘Heart Disease Detected’;
app.ResultLabel.FontColor = [1 0 0]; % Red
end Hello everyone.
I want to ask a question regarding my final year project.
I’m currently doing a prediction system using:
UCI heart disease dataset.
Ensemble method (Subspace Discriminant) trained model from Classifier Learner App.
a GUI from app designer.
The system shown no problem when detecting a high parameter for high risk patient data and correctly shows ‘Heart Disease Detected’ but for a low parameter for a normal patient data it still shows the output as ‘Heart Disease Detected’. It is because of the dataset’s value comes from patients that already suspect with heart disease or the model used is sensitive. The GUI screenshot is suppose to be a normal patient data.
If you have an insight about this please share with me. Thank you.
I’ll share the coding used in the app designer and the GUI with some of the patient attribute data where the target is suppose to be the outcome of this system prediction.
properties (Access = private)
modelData = load(‘HeartModel.mat’,’trainedModel’);
end
methods (Access = private)
function startupFcn(app)
% Set DropDown items and ItemsData for numerical values
% Sex
app.SexDropDown.Items = {‘Female’, ‘Male’};
app.SexDropDown.ItemsData = [0, 1];
% Chest Pain (cp)
app.ChestPainDropDown.Items = {‘Normal’,’Typical Angina’, ‘Atypical Angina’, ‘Non-anginal Pain’, ‘Asymptomatic’};
app.ChestPainDropDown.ItemsData = [0, 1, 2, 3, 4];
% Fasting Blood Sugar (fbs)
app.FastingBloodSugarDropDown.Items = {‘<= 120 mg/dL’, ‘> 120 mg/dL’};
app.FastingBloodSugarDropDown.ItemsData = [0, 1];
% Rest ECG (restecg)
app.RestECGDropDown.Items = {‘Normal’, ‘ST-T Wave Abnormality’, ‘LV Hypertrophy’};
app.RestECGDropDown.ItemsData = [0, 1, 2];
% Slope
app.SlopeDropDown.Items = {‘Upsloping’, ‘Flat’, ‘Downsloping’};
app.SlopeDropDown.ItemsData = [1, 2, 3];
% Exercise Angina (exang)
app.ExerciseAnginaDropDown.Items = {‘No’, ‘Yes’};
app.ExerciseAnginaDropDown.ItemsData = [0, 1];
% CA
app.CADropDown.Items = {‘0’, ‘1’, ‘2’, ‘3’};
app.CADropDown.ItemsData = [0, 1, 2, 3];
% Thal
app.ThalDropDown.Items = {‘Normal’, ‘Fixed Defect’, ‘Reversible Defect’};
app.ThalDropDown.ItemsData = [3, 6, 7];
end
end
% Button pushed function: PredictButton
function PredictButtonPushed(app, event)
% Collect all inputs (convert to double to be safe)
age = double(app.AgeEditField.Value);
sex = double(app.SexDropDown.Value);
cp = double(app.ChestPainDropDown.Value);
trestbps = double(app.RestingBPEditField.Value);
chol = double(app.CholesterolEditField.Value);
fbs = double(app.FastingBloodSugarDropDown.Value);
restecg = double(app.RestECGDropDown.Value);
thalach = double(app.MaxHeartRateEditField.Value);
exang = double(app.ExerciseAnginaDropDown.Value);
oldpeak = double(app.OldpeakEditField.Value);
slope = double(app.SlopeDropDown.Value);
ca = double(app.CADropDown.Value);
thal = double(app.ThalDropDown.Value);
% Create input table
T = table(age, sex, cp, trestbps, chol, fbs, restecg, thalach, …
exang, oldpeak, slope, ca, thal, …
‘VariableNames’, {‘age’,’sex’,’cp’,’trestbps’,’chol’,’fbs’,…
‘restecg’,’thalach’,’exang’,’oldpeak’,…
‘slope’,’ca’,’thal’});
%Prediction
label = app.modelData.trainedModel.predictFcn(T);
% Display result
if label == 0
app.ResultLabel.Text = ‘No Heart Disease’;
app.ResultLabel.FontColor = [0 1 0]; % Green
else
app.ResultLabel.Text = ‘Heart Disease Detected’;
app.ResultLabel.FontColor = [1 0 0]; % Red
end app designer, appdesigner MATLAB Answers — New Questions
Teams Admin Center Simplifies External Collaboration
TAC Gives External Collaboration Management a Makeover
In the article about developing user training for Microsoft 365 Copilot, I commented that keeping training updated to match changes made by Microsoft is a challenge. Teams was the first Microsoft 365 application to exhibit the kind of rapid development cycles that we currently see in Copilot. The Teams client UX seemed to change daily, and although the rate of change was slower for administrative functions and interfaces, it still happened.
Teams isn’t quite in the same place any longer. I guess that having hundreds of millions of users slows the ability of developers to make changes within an application. Major updates like the threaded layout for channels (after six months of trying, I still dislike the implementation) and minor changes like the arrival of autocorrect for message composition still happen, but at a more measured pace.
Open, Controlled, and Custom Modes for External Collaboration
All of which brings us to message center notification MC1183006 (last updated 1 December 2025) covering the introduction of three modes for external collaboration settings in the Teams admin center (TAC – Figure 1). The modes cover aspects of external collaboration such as shared channels, guest access to teams, and which external domains (including test domains) are allowed to chat with people in your tenant.

The new interface rolls out in general availability in mid-February 2026 and should be in place worldwide by the end of February 2026.
Working with Settings
Two of the modes (Open and Controlled) are predefined and the other (Custom) is what you’ll see if administrators have made any changes to the external collaboration settings in the past.
The idea of the two predefined modes is that tenants can choose a mode that makes sense for their operations. In truth, I don’t think that many tenants will end up in the open or controlled modes. Think of these modes as starting points to guide tenants to the most appropriate set of custom external collaboration settings.
Clicking the down arrow reveals details of individual settings, all of which have been available previously (details of the settings in the two predefined modes are available in the online documentation). For example, I have long advocated that Microsoft 365 tenants should use an allow list to control the tenants that users can collaborate with and the block list for the Entra B2B Collaboration policy to stop guests from being invited from specific domains. The allow list for tenants is available under the “Who gets access” settings.
However, the Entra B2B Collaboration policy settings aren’t currently shown in TAC. This isn’t surprising because the Entra policy affects all applications and TAC takes care of Teams-specific controls. It’s a good reminder that controls that affect Teams operations can exist elsewhere in Microsoft 365.
Making Teams Management More Elegant
It’s been said in the past that Teams is in danger of running up its real end due to the number of policies and settings available to manage different aspects of the application. There are too many policies in Teams and some of the policies are burdened by settings that go back to Skype for Business Online. If you’ve worked with Teams for a while, you might not notice just how many controls are available for tweaking, but it’s certainly an evident issue for people coming to Teams for the first time.
This isn’t a UX that most administrators are likely to use often. Once configured, external collaboration settings tend to stay in place until some reason arises to force an update, like when Microsoft blocked federated chat with trial tenants in 2024. Even so, it’s good to try and simplify tenant management, especially for a high-profile application like Teams, so this is a good change.
Make sure that you’re not surprised about changes that appear inside Microsoft 365 applications by subscribing to the Office 365 for IT Pros eBook. Our monthly updates make sure that our subscribers stay informed.









