Category: News
All Widget Gauges are blank
Was just checking in on our ThingSpeak channels and all our Public Widgets are blank.
Don’t know when this started.
Anyone else seeing this?Was just checking in on our ThingSpeak channels and all our Public Widgets are blank.
Don’t know when this started.
Anyone else seeing this? Was just checking in on our ThingSpeak channels and all our Public Widgets are blank.
Don’t know when this started.
Anyone else seeing this? thingspeak MATLAB Answers — New Questions
Issue setting up Managed Google Play in Intune Endpoint
When trying to setup Managed Google Play in Intune Endpoint, it sometimes lets me check the box, and sometimes it is greyed out.
After I select to Launch when I can check the box it either asks for my google account which I put in my business account after having signed in to the page per Connect Intune account to Managed Google Play account – Microsoft Intune | Microsoft Learn and it comes up and says the page has expired. Refresh on your EMM console. Have tried a couple times and not getting anywhere. There has been some discussions on Reddit and such in the last 24 hours about this so wondering if there is an issue somewhere?
I don’t see anything in the M365 system health about an issue.
When trying to setup Managed Google Play in Intune Endpoint, it sometimes lets me check the box, and sometimes it is greyed out. After I select to Launch when I can check the box it either asks for my google account which I put in my business account after having signed in to the page per Connect Intune account to Managed Google Play account – Microsoft Intune | Microsoft Learn and it comes up and says the page has expired. Refresh on your EMM console. Have tried a couple times and not getting anywhere. There has been some discussions on Reddit and such in the last 24 hours about this so wondering if there is an issue somewhere? I don’t see anything in the M365 system health about an issue. Read More
New Blog | Investigating Industrial Control Systems using Microsoft’s ICSpector open-source frame
By maayan_shaul
Industrial Control Systems (ICS) security has been a subject of research for many years, spurred, in part, by recent state-sponsored ICS-targeting malware and supply-chain attacks like the ZPMC cranes spying concerns that threaten critical infrastructure. Given the potential harm to thousands of people if water treatment facilities, power plants and nuclear reactors or other systems are breached, the stakes are high. Unfortunately, forensics for ICS devices is not as advanced as in IT environments like Windows and Linux. This can stall forensics investigation when incidents occur.
To overcome this challenge, Microsoft released ICSpector, an open-source framework that facilitates the examination of the information and configurations of industrial programmable logic controllers (PLCs). This framework simplifies the process of locating PLCs and detecting any anomalous indicators that are compromised or manipulated. This can assist you in safeguarding the PLCs from adversaries who intend to harm or disrupt their operations.
Many operational technology (OT) security tools based on network layer monitoring, such as Microsoft Defender for IoT, provide network protection for OT/IoT environments, allowing analysts to discover their devices and respond to alerts on vulnerabilities and anomalous behavior. However, one of the biggest challenges is retrieving the code running on the PLC and scanning it as part of an incident response to understand if it was tampered with. This act requires caution, because the PLCs are actively operating vital industrial process. This is where ICSpector can help individuals or facilities perform this task with best practices.
Industrial control systems in brief
Industrial Control Systems (ICS) and Operational Technology (OT) are critical to modern society, powering everything from power grids and water treatment plants to manufacturing facilities and transportation systems. These systems typically rely on a combination of hardware and software components to perform their functions. Programmable logic controllers (PLCs) are used to manage and control the various processes within an industrial environment. As these systems become increasingly digitized and interconnected, they are also becoming more vulnerable to cyberattacks.
Due to their critical role in ensuring the smooth operation of industrial processes, and the physical danger or extreme financial losses that could result if attacked, ICS devices are prime targets of cyberattacks, making ICS security an increasingly critical issue in today’s digital landscape.
Read the full post here: Investigating Industrial Control Systems using Microsoft’s ICSpector open-source framework
By maayan_shaul
Industrial Control Systems (ICS) security has been a subject of research for many years, spurred, in part, by recent state-sponsored ICS-targeting malware and supply-chain attacks like the ZPMC cranes spying concerns that threaten critical infrastructure. Given the potential harm to thousands of people if water treatment facilities, power plants and nuclear reactors or other systems are breached, the stakes are high. Unfortunately, forensics for ICS devices is not as advanced as in IT environments like Windows and Linux. This can stall forensics investigation when incidents occur.
To overcome this challenge, Microsoft released ICSpector, an open-source framework that facilitates the examination of the information and configurations of industrial programmable logic controllers (PLCs). This framework simplifies the process of locating PLCs and detecting any anomalous indicators that are compromised or manipulated. This can assist you in safeguarding the PLCs from adversaries who intend to harm or disrupt their operations.
Many operational technology (OT) security tools based on network layer monitoring, such as Microsoft Defender for IoT, provide network protection for OT/IoT environments, allowing analysts to discover their devices and respond to alerts on vulnerabilities and anomalous behavior. However, one of the biggest challenges is retrieving the code running on the PLC and scanning it as part of an incident response to understand if it was tampered with. This act requires caution, because the PLCs are actively operating vital industrial process. This is where ICSpector can help individuals or facilities perform this task with best practices.
Industrial control systems in brief
Industrial Control Systems (ICS) and Operational Technology (OT) are critical to modern society, powering everything from power grids and water treatment plants to manufacturing facilities and transportation systems. These systems typically rely on a combination of hardware and software components to perform their functions. Programmable logic controllers (PLCs) are used to manage and control the various processes within an industrial environment. As these systems become increasingly digitized and interconnected, they are also becoming more vulnerable to cyberattacks.
Due to their critical role in ensuring the smooth operation of industrial processes, and the physical danger or extreme financial losses that could result if attacked, ICS devices are prime targets of cyberattacks, making ICS security an increasingly critical issue in today’s digital landscape.
Figure 1: Known ICS-targeted cyberattacks that occurred between 2010 and 2022. (Image from Cyber Signals: Risks to critical infrastructure on the rise)
Read the full post here: Investigating Industrial Control Systems using Microsoft’s ICSpector open-source framework
Read More
New Blog | Understanding Cloud Native Application Protection Platforms (CNAPP)
By Erica Toelle
Giulio Astori, Principal Product Manager at Microsoft, joins Erica Toelle and guest host Yuri Diogenes on this week’s episode of Uncovering Hidden Risks. Giulio Astori works as a Principal Program Manager for Microsoft Defender for Cloud and Yuri has been at Microsoft for the past 18 years and manages a Product Management team for the Defender for Cloud Product. In this discussion, Giulio delves into the world of Cloud Native Application Protection Platforms (CNAPPs), explaining their significance and utility in enhancing cloud security and protecting workloads. He explores the distinction between CNAPPs and Cloud Security Posture Management, shedding light on their roles in bolstering organizational security.
In This Episode You Will Learn:
What a Cloud Native Application Protection Platform is and why it’s useful
The difference between CNAPP and Cloud Security Posture Management
How organizations can start to plan for CNAPP adoption
Read the full post here: Understanding Cloud Native Application Protection Platforms (CNAPP)
By Erica Toelle
Giulio Astori, Principal Product Manager at Microsoft, joins Erica Toelle and guest host Yuri Diogenes on this week’s episode of Uncovering Hidden Risks. Giulio Astori works as a Principal Program Manager for Microsoft Defender for Cloud and Yuri has been at Microsoft for the past 18 years and manages a Product Management team for the Defender for Cloud Product. In this discussion, Giulio delves into the world of Cloud Native Application Protection Platforms (CNAPPs), explaining their significance and utility in enhancing cloud security and protecting workloads. He explores the distinction between CNAPPs and Cloud Security Posture Management, shedding light on their roles in bolstering organizational security.
In This Episode You Will Learn:
What a Cloud Native Application Protection Platform is and why it’s useful
The difference between CNAPP and Cloud Security Posture Management
How organizations can start to plan for CNAPP adoption
Read the full post here: Understanding Cloud Native Application Protection Platforms (CNAPP)
New Blog | Collaborate across M365 tenants with Entra ID multi-tenant organization
Hi everyone,
I’m excited to announce the general availability of Microsoft Entra ID multi-tenant organization platform capabilities!
As your organization evolves, you may need to integrate multiple tenants to facilitate collaboration; for example, your organization may have recently acquired a new company, merged with another company, or restructured with newly formed business units. With disparate identity management systems, it can be costly and complex for admins to manage multiple tenants while ensuring users across tenants have access to resources to collaborate.
To enable application sharing across tenants, many of you have already deployed features like B2B collaboration to grant application access across tenants in your organization, cross-tenant access settings to allow for granular access controls, and cross-tenant synchronization to manage the lifecycle of users across tenants.
To further improve employee collaboration across your tenants, many of you have asked for unified chat across tenants in Microsoft Teams and seamless cross-tenant employee engagement and community experiences in Viva Engage.
You can now use Entra ID multi-tenant organizations to improve the cross-tenant collaboration experience in Microsoft Teams and Viva Engage. The capabilities are now generally available with Microsoft Entra ID P1 in the M365 commercial cloud.
Multi-tenant organization capabilities:
Read the full post here: Collaborate across M365 tenants with Entra ID multi-tenant organization
By Joseph Dadzie
Hi everyone,
I’m excited to announce the general availability of Microsoft Entra ID multi-tenant organization platform capabilities!
As your organization evolves, you may need to integrate multiple tenants to facilitate collaboration; for example, your organization may have recently acquired a new company, merged with another company, or restructured with newly formed business units. With disparate identity management systems, it can be costly and complex for admins to manage multiple tenants while ensuring users across tenants have access to resources to collaborate.
To enable application sharing across tenants, many of you have already deployed features like B2B collaboration to grant application access across tenants in your organization, cross-tenant access settings to allow for granular access controls, and cross-tenant synchronization to manage the lifecycle of users across tenants.
To further improve employee collaboration across your tenants, many of you have asked for unified chat across tenants in Microsoft Teams and seamless cross-tenant employee engagement and community experiences in Viva Engage.
You can now use Entra ID multi-tenant organizations to improve the cross-tenant collaboration experience in Microsoft Teams and Viva Engage. The capabilities are now generally available with Microsoft Entra ID P1 in the M365 commercial cloud.
Multi-tenant organization capabilities:
Read the full post here: Collaborate across M365 tenants with Entra ID multi-tenant organization
New Blog | Introducing our CNAPP mastery e-book!
By Sarah Young (SECURITY ADVOCATE)
Have you completed all of the Microsoft security ninja training? Now we have a new CNAPP mastery e-book for you to enjoy! Today we released an e-book all about CNAPP (Cloud Native Application Protection Platform) that has been written by some of the leading experts out there.
If you don’t already know, CNAPP is a framework for securing cloud-native applications and infrastructure. The book is packed with valuable information on how to create a unified, proactive, and holistic strategy that covers all aspects of cloud security. From threat detection and scaling to governance and compliance, this book has got you covered.
Here’s a TL;DR of the key topics to give you a taster:
Comprehensive and integrated cloud security approach: We introduce the concept of CNAPP, a framework for securing cloud-native applications and infrastructure, and explain the role of Microsoft Defender for Cloud as a CNAPP solution.
Scalability and customization of Microsoft Defender for Cloud: We discover how Microsoft Defender for Cloud can adapt to the diverse needs of different organizations, regardless of their size and complexity. We discover how the platform’s can scale its services, customize its features, and align its security measures with the specific requirements and objectives of a business.
Read the full post here: Introducing our CNAPP mastery e-book!
By Sarah Young (SECURITY ADVOCATE)
Have you completed all of the Microsoft security ninja training? Now we have a new CNAPP mastery e-book for you to enjoy! Today we released an e-book all about CNAPP (Cloud Native Application Protection Platform) that has been written by some of the leading experts out there.
If you don’t already know, CNAPP is a framework for securing cloud-native applications and infrastructure. The book is packed with valuable information on how to create a unified, proactive, and holistic strategy that covers all aspects of cloud security. From threat detection and scaling to governance and compliance, this book has got you covered.
Here’s a TL;DR of the key topics to give you a taster:
Comprehensive and integrated cloud security approach: We introduce the concept of CNAPP, a framework for securing cloud-native applications and infrastructure, and explain the role of Microsoft Defender for Cloud as a CNAPP solution.
Scalability and customization of Microsoft Defender for Cloud: We discover how Microsoft Defender for Cloud can adapt to the diverse needs of different organizations, regardless of their size and complexity. We discover how the platform’s can scale its services, customize its features, and align its security measures with the specific requirements and objectives of a business.
Read the full post here: Introducing our CNAPP mastery e-book! Read More
Cannot refresh variables when exporting Simulink to FMU file
I am trying to create a simple FMU file from a SimuLink model. I made this many times before. Now, suddenly, I am getting the following error when I try to refresh the settings (using R2024a):
Unable to resolve the name ‘internal.getWSLDockerSettings’
I have no idea what that means. A reseach on google resulted in nothing.
I thank for any help.I am trying to create a simple FMU file from a SimuLink model. I made this many times before. Now, suddenly, I am getting the following error when I try to refresh the settings (using R2024a):
Unable to resolve the name ‘internal.getWSLDockerSettings’
I have no idea what that means. A reseach on google resulted in nothing.
I thank for any help. I am trying to create a simple FMU file from a SimuLink model. I made this many times before. Now, suddenly, I am getting the following error when I try to refresh the settings (using R2024a):
Unable to resolve the name ‘internal.getWSLDockerSettings’
I have no idea what that means. A reseach on google resulted in nothing.
I thank for any help. fmu, simulink MATLAB Answers — New Questions
INDEX EXCEEDS THE NUMBER OF ARRAY ELEMENTS.
% Load the signal data from the text file using the load command with the -ascii option
x = load(‘Lab7data1.txt’, ‘-ascii’);
% Plot the signal
%figure;
%plot(x);
%xlabel(‘Sample’);
%ylabel(‘Amplitude’);
%title(‘Original Signal’);
%grid on;
% Calculate the length of the signal in samples
signal_length = length(x);
num_periods = 100;
% Estimate the number of samples per period
samples_per_period = signal_length / num_periods;
% Check Nyquist condition
if samples_per_period >= 2
disp(‘Nyquist sampling rate is satisfied.’);
else
disp(‘Nyquist sampling rate is not satisfied.’);
end
% Calculate the current sampling rate
current_sampling_rate = 1 / samples_per_period;
% Estimate the down-sampling factor needed to reduce the sampling rate to
% the Nyquist
downsampling_factor = ceil(current_sampling_rate / 2);
% Down-sample the signal
downsampled_signal = x(1:downsampling_factor:end);
% Define the x-values for the down-sampled signal
downsampled_indices = 1:downsampling_factor:signal_length;
% Make sure the lengths match
if length(downsampled_indices) ~= length(downsampled_signal)
downsampled_indices = downsampled_indices(1:length(downsampled_signal));
end
% Interpolate the down-sampled signal to up-sample it
up_sampled_signal = interp1(downsampled_indices, downsampled_signal, 1:signal_length,’linear’);
% Plot both the original and down-sampled signals
figure;
plot(1:signal_length, x, ‘b’, ‘DisplayName’, ‘Original Signal’);
hold on;
plot(downsampled_signal, ‘ro’, ‘DisplayName’, ‘Down-sampled Signal’);
plot(up_sampled_signal, ‘g’, ‘DisplayName’, ‘Up-sampled Signal (Linear Interpolation)’);
hold off;
xlabel(‘Sample’);
ylabel(‘Amplitude’);
title(‘Original vs Down-sampled Signal vs Up-sampled Signal’);
legend(‘Location’, ‘best’);
grid on;% Load the signal data from the text file using the load command with the -ascii option
x = load(‘Lab7data1.txt’, ‘-ascii’);
% Plot the signal
%figure;
%plot(x);
%xlabel(‘Sample’);
%ylabel(‘Amplitude’);
%title(‘Original Signal’);
%grid on;
% Calculate the length of the signal in samples
signal_length = length(x);
num_periods = 100;
% Estimate the number of samples per period
samples_per_period = signal_length / num_periods;
% Check Nyquist condition
if samples_per_period >= 2
disp(‘Nyquist sampling rate is satisfied.’);
else
disp(‘Nyquist sampling rate is not satisfied.’);
end
% Calculate the current sampling rate
current_sampling_rate = 1 / samples_per_period;
% Estimate the down-sampling factor needed to reduce the sampling rate to
% the Nyquist
downsampling_factor = ceil(current_sampling_rate / 2);
% Down-sample the signal
downsampled_signal = x(1:downsampling_factor:end);
% Define the x-values for the down-sampled signal
downsampled_indices = 1:downsampling_factor:signal_length;
% Make sure the lengths match
if length(downsampled_indices) ~= length(downsampled_signal)
downsampled_indices = downsampled_indices(1:length(downsampled_signal));
end
% Interpolate the down-sampled signal to up-sample it
up_sampled_signal = interp1(downsampled_indices, downsampled_signal, 1:signal_length,’linear’);
% Plot both the original and down-sampled signals
figure;
plot(1:signal_length, x, ‘b’, ‘DisplayName’, ‘Original Signal’);
hold on;
plot(downsampled_signal, ‘ro’, ‘DisplayName’, ‘Down-sampled Signal’);
plot(up_sampled_signal, ‘g’, ‘DisplayName’, ‘Up-sampled Signal (Linear Interpolation)’);
hold off;
xlabel(‘Sample’);
ylabel(‘Amplitude’);
title(‘Original vs Down-sampled Signal vs Up-sampled Signal’);
legend(‘Location’, ‘best’);
grid on; % Load the signal data from the text file using the load command with the -ascii option
x = load(‘Lab7data1.txt’, ‘-ascii’);
% Plot the signal
%figure;
%plot(x);
%xlabel(‘Sample’);
%ylabel(‘Amplitude’);
%title(‘Original Signal’);
%grid on;
% Calculate the length of the signal in samples
signal_length = length(x);
num_periods = 100;
% Estimate the number of samples per period
samples_per_period = signal_length / num_periods;
% Check Nyquist condition
if samples_per_period >= 2
disp(‘Nyquist sampling rate is satisfied.’);
else
disp(‘Nyquist sampling rate is not satisfied.’);
end
% Calculate the current sampling rate
current_sampling_rate = 1 / samples_per_period;
% Estimate the down-sampling factor needed to reduce the sampling rate to
% the Nyquist
downsampling_factor = ceil(current_sampling_rate / 2);
% Down-sample the signal
downsampled_signal = x(1:downsampling_factor:end);
% Define the x-values for the down-sampled signal
downsampled_indices = 1:downsampling_factor:signal_length;
% Make sure the lengths match
if length(downsampled_indices) ~= length(downsampled_signal)
downsampled_indices = downsampled_indices(1:length(downsampled_signal));
end
% Interpolate the down-sampled signal to up-sample it
up_sampled_signal = interp1(downsampled_indices, downsampled_signal, 1:signal_length,’linear’);
% Plot both the original and down-sampled signals
figure;
plot(1:signal_length, x, ‘b’, ‘DisplayName’, ‘Original Signal’);
hold on;
plot(downsampled_signal, ‘ro’, ‘DisplayName’, ‘Down-sampled Signal’);
plot(up_sampled_signal, ‘g’, ‘DisplayName’, ‘Up-sampled Signal (Linear Interpolation)’);
hold off;
xlabel(‘Sample’);
ylabel(‘Amplitude’);
title(‘Original vs Down-sampled Signal vs Up-sampled Signal’);
legend(‘Location’, ‘best’);
grid on; array element MATLAB Answers — New Questions
Index exceeds matrix dimensions.
clc;
clear;
%Исходные данные
F=100; %частота следования импульсов, Гц
alpha=0.5; %Коэффициент скругления
U0=1; % Амплитуда несущего колебания, В
f0=100000; %частота несущего колебания, Гц
Fs=10*f0; %частота дискретизации, Гц
T=1/F; %Период следования импульсов, с
Ts=1/Fs; %Период дискретизации, с
f=140:0.1:160; % массив частот
M=length(f);
j=complex(0, 1);
%Добавление шума
SNR=-15; % добавление шума, дБ
% 1. Расчёт импульса приподнятого косинуса
delay=3; %задержка
g=rcosine(F, 200*F, ‘sqrt’, alpha, delay); %импульс приподнятого косинуса
g=g/max(g);
N1=length(g);
t1=0:(1/(200*F)):(N1-1)*(1/(200*F));
% 2. Синтез случайного кода
Nsym=100; %число символов
p=ceil(2.*rand(1,Nsym));
p=p-1;
%———————————-Модуляция DQPSK————
% 3. Расчёт символов a
a=zeros(1, Nsym);
for n=1:Nsym %Вычисление A и B
if p(n)==0
a(n)=-1;
end
if p(n)==1
a(n)=1;
end
end
n=1:Nsym;
figure(1)
stem(n, a);
%xlim([0, 20]);
ylim([-2, 2]);
xlabel(‘n’);
ylabel(‘a’);
grid on
% 4. Синтез модулирующего сигнала
N=Nsym*N1;
t=0:Ts:(N-1)*Ts;
Sa=zeros(1,N);
for n=1:Nsym
for k=1:N1
Sa(k+(n-1)*200*F)=a(n).*g(k)+Sa(k+(n-1)*200*F);
end
end
figure(2)
plot(t, Sa);
title(‘График модулирующего сигнала символов a’);
xlim([0, 10]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Sa(t), В’);
grid on
% 5. Балансная модуляция
Ug=U0*cos(2*pi*f0*t); %несущее колебание
Uw=Sa.*Ug; %радиосигнал
P=mean(Uw.*Uw); % мощность в Вт
PF=10*log10((max(Uw.*Uw))/P); %пик-фактор
Ps=10*log10(P); % мощность в дБ
Noise=wgn(1, N, Ps-SNR);
Uw=Uw+Noise; % добавление шума
figure(3)
plot(t, Uw);
xlim([0, 20]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Uw(t), В’);
grid on
%———————————-Демодуляция BPSK————
% 6. Балансная демодуляция
t=0:Ts:(N-1)*Ts;
Uda=Uw.*cos(2*pi*f0*t);
Sfa=filter(g, 1, Uda);
Sfa=Sfa/max(Sfa)*max(Sa);
t=0:(1/(200*F)):(N-1)*(1/(200*F));
figure(4)
subplot(2, 1, 1);
plot(t, Sfa);
title(‘График демодулированного сигнала a’);
xlim([0, 0.23]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Sa(t), В’);
grid onclc;
clear;
%Исходные данные
F=100; %частота следования импульсов, Гц
alpha=0.5; %Коэффициент скругления
U0=1; % Амплитуда несущего колебания, В
f0=100000; %частота несущего колебания, Гц
Fs=10*f0; %частота дискретизации, Гц
T=1/F; %Период следования импульсов, с
Ts=1/Fs; %Период дискретизации, с
f=140:0.1:160; % массив частот
M=length(f);
j=complex(0, 1);
%Добавление шума
SNR=-15; % добавление шума, дБ
% 1. Расчёт импульса приподнятого косинуса
delay=3; %задержка
g=rcosine(F, 200*F, ‘sqrt’, alpha, delay); %импульс приподнятого косинуса
g=g/max(g);
N1=length(g);
t1=0:(1/(200*F)):(N1-1)*(1/(200*F));
% 2. Синтез случайного кода
Nsym=100; %число символов
p=ceil(2.*rand(1,Nsym));
p=p-1;
%———————————-Модуляция DQPSK————
% 3. Расчёт символов a
a=zeros(1, Nsym);
for n=1:Nsym %Вычисление A и B
if p(n)==0
a(n)=-1;
end
if p(n)==1
a(n)=1;
end
end
n=1:Nsym;
figure(1)
stem(n, a);
%xlim([0, 20]);
ylim([-2, 2]);
xlabel(‘n’);
ylabel(‘a’);
grid on
% 4. Синтез модулирующего сигнала
N=Nsym*N1;
t=0:Ts:(N-1)*Ts;
Sa=zeros(1,N);
for n=1:Nsym
for k=1:N1
Sa(k+(n-1)*200*F)=a(n).*g(k)+Sa(k+(n-1)*200*F);
end
end
figure(2)
plot(t, Sa);
title(‘График модулирующего сигнала символов a’);
xlim([0, 10]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Sa(t), В’);
grid on
% 5. Балансная модуляция
Ug=U0*cos(2*pi*f0*t); %несущее колебание
Uw=Sa.*Ug; %радиосигнал
P=mean(Uw.*Uw); % мощность в Вт
PF=10*log10((max(Uw.*Uw))/P); %пик-фактор
Ps=10*log10(P); % мощность в дБ
Noise=wgn(1, N, Ps-SNR);
Uw=Uw+Noise; % добавление шума
figure(3)
plot(t, Uw);
xlim([0, 20]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Uw(t), В’);
grid on
%———————————-Демодуляция BPSK————
% 6. Балансная демодуляция
t=0:Ts:(N-1)*Ts;
Uda=Uw.*cos(2*pi*f0*t);
Sfa=filter(g, 1, Uda);
Sfa=Sfa/max(Sfa)*max(Sa);
t=0:(1/(200*F)):(N-1)*(1/(200*F));
figure(4)
subplot(2, 1, 1);
plot(t, Sfa);
title(‘График демодулированного сигнала a’);
xlim([0, 0.23]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Sa(t), В’);
grid on clc;
clear;
%Исходные данные
F=100; %частота следования импульсов, Гц
alpha=0.5; %Коэффициент скругления
U0=1; % Амплитуда несущего колебания, В
f0=100000; %частота несущего колебания, Гц
Fs=10*f0; %частота дискретизации, Гц
T=1/F; %Период следования импульсов, с
Ts=1/Fs; %Период дискретизации, с
f=140:0.1:160; % массив частот
M=length(f);
j=complex(0, 1);
%Добавление шума
SNR=-15; % добавление шума, дБ
% 1. Расчёт импульса приподнятого косинуса
delay=3; %задержка
g=rcosine(F, 200*F, ‘sqrt’, alpha, delay); %импульс приподнятого косинуса
g=g/max(g);
N1=length(g);
t1=0:(1/(200*F)):(N1-1)*(1/(200*F));
% 2. Синтез случайного кода
Nsym=100; %число символов
p=ceil(2.*rand(1,Nsym));
p=p-1;
%———————————-Модуляция DQPSK————
% 3. Расчёт символов a
a=zeros(1, Nsym);
for n=1:Nsym %Вычисление A и B
if p(n)==0
a(n)=-1;
end
if p(n)==1
a(n)=1;
end
end
n=1:Nsym;
figure(1)
stem(n, a);
%xlim([0, 20]);
ylim([-2, 2]);
xlabel(‘n’);
ylabel(‘a’);
grid on
% 4. Синтез модулирующего сигнала
N=Nsym*N1;
t=0:Ts:(N-1)*Ts;
Sa=zeros(1,N);
for n=1:Nsym
for k=1:N1
Sa(k+(n-1)*200*F)=a(n).*g(k)+Sa(k+(n-1)*200*F);
end
end
figure(2)
plot(t, Sa);
title(‘График модулирующего сигнала символов a’);
xlim([0, 10]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Sa(t), В’);
grid on
% 5. Балансная модуляция
Ug=U0*cos(2*pi*f0*t); %несущее колебание
Uw=Sa.*Ug; %радиосигнал
P=mean(Uw.*Uw); % мощность в Вт
PF=10*log10((max(Uw.*Uw))/P); %пик-фактор
Ps=10*log10(P); % мощность в дБ
Noise=wgn(1, N, Ps-SNR);
Uw=Uw+Noise; % добавление шума
figure(3)
plot(t, Uw);
xlim([0, 20]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Uw(t), В’);
grid on
%———————————-Демодуляция BPSK————
% 6. Балансная демодуляция
t=0:Ts:(N-1)*Ts;
Uda=Uw.*cos(2*pi*f0*t);
Sfa=filter(g, 1, Uda);
Sfa=Sfa/max(Sfa)*max(Sa);
t=0:(1/(200*F)):(N-1)*(1/(200*F));
figure(4)
subplot(2, 1, 1);
plot(t, Sfa);
title(‘График демодулированного сигнала a’);
xlim([0, 0.23]);
ylim([-2, 2]);
xlabel(‘t, с’);
ylabel(‘Sa(t), В’);
grid on matlab MATLAB Answers — New Questions
Autofill not recognizing the intended pattern
I am trying to autofill a series of cells from another Sheet but cannot get the autofill to follow the intended pattern correctly.
The information in the first cell comes from =’Sheet1′!A1
I want the autofill in the next cell to also be from ‘sheet1′ but instead of =’sheet1′!A2, It needs to be =’sheet1’!A11. It skips 10 cells, then the following cell should be the information in A21, A31, A41 and so on.
The autofill function is not recognizing this pattern. I have tried many ways to get this to work but there seems to be difficulty in the fact that the info in the cell is coming from another Sheet or cell. How can I get this to work?
I am trying to autofill a series of cells from another Sheet but cannot get the autofill to follow the intended pattern correctly. The information in the first cell comes from =’Sheet1′!A1 I want the autofill in the next cell to also be from ‘sheet1′ but instead of =’sheet1′!A2, It needs to be =’sheet1’!A11. It skips 10 cells, then the following cell should be the information in A21, A31, A41 and so on.The autofill function is not recognizing this pattern. I have tried many ways to get this to work but there seems to be difficulty in the fact that the info in the cell is coming from another Sheet or cell. How can I get this to work? Read More
Greetings & welcome to the Microsoft Teams SMB Community!
We’re so glad you are here and excited to have this forum to collaborate and discuss Microsoft Teams with our small business customers.
We’ve created this Teams discussion space specifically for small and medium-sized businesses, recognizing that the needs of our SMBs may differ from those of our larger Enterprise customers. The Microsoft Teams SMB Product and Engineering team will be active here and we are eager to understand these distinctions, delve deeper into small business-specific scenarios, and provide a dedicated space to update you on Teams SMB product developments. You’ll also have access to resources tailored for small businesses, Teams SMB blogs, and Tips & Tricks on implementing and using Microsoft Teams,
We want you to be an active participant in this community! We’d like for you to ask questions, answer others’ questions, and participate in discussion. We want to hear your best practices, how you use the product and see how your experiences with Microsoft Teams compares with other small businesses. In doing so, you’ll earn badges within the Microsoft Tech Community. Check them out by going to your profile and clicking ‘Achievements’!
A few more notes about our new space:
These discussions will be monitored on a regular basis by moderators across the Microsoft Teams organization.
The Microsoft Teams SMB Community is not intended to be a support channel. You should continue to use your normal support resources with questions around break/fix issues.
Likewise, the Community will give us an opportunity to discuss feature suggestions but, as we do want to be sure that any feedback you have about the product gets triaged and taken to engineering, we ask that you use the in-app Help menu to access “Send Feedback” and “Suggest a feature” forms.
If there are things you want to see as part of the Microsoft Teams SMB Community, we want to know! Please take a moment and comment below.
Thank you for joining us & welcome aboard!
— The Microsoft Teams SMB Product & Engineering team
We’re so glad you are here and excited to have this forum to collaborate and discuss Microsoft Teams with our small business customers.
We’ve created this Teams discussion space specifically for small and medium-sized businesses, recognizing that the needs of our SMBs may differ from those of our larger Enterprise customers. The Microsoft Teams SMB Product and Engineering team will be active here and we are eager to understand these distinctions, delve deeper into small business-specific scenarios, and provide a dedicated space to update you on Teams SMB product developments. You’ll also have access to resources tailored for small businesses, Teams SMB blogs, and Tips & Tricks on implementing and using Microsoft Teams,
We want you to be an active participant in this community! We’d like for you to ask questions, answer others’ questions, and participate in discussion. We want to hear your best practices, how you use the product and see how your experiences with Microsoft Teams compares with other small businesses. In doing so, you’ll earn badges within the Microsoft Tech Community. Check them out by going to your profile and clicking ‘Achievements’!
A few more notes about our new space:
These discussions will be monitored on a regular basis by moderators across the Microsoft Teams organization.
The Microsoft Teams SMB Community is not intended to be a support channel. You should continue to use your normal support resources with questions around break/fix issues.
Likewise, the Community will give us an opportunity to discuss feature suggestions but, as we do want to be sure that any feedback you have about the product gets triaged and taken to engineering, we ask that you use the in-app Help menu to access “Send Feedback” and “Suggest a feature” forms.
If there are things you want to see as part of the Microsoft Teams SMB Community, we want to know! Please take a moment and comment below.
Thank you for joining us & welcome aboard!
— The Microsoft Teams SMB Product & Engineering team
Read More
Question about some text selected in Microsoft Word
A document I’m typing up is doing something different than I am used to seeing. Most of the document, if I scroll select the text, highlights it in light blue. But the most recent section I’ve been working on has some random sections of it highlighted in black. (See attached pic.) I can’t figure out why it is doing that and if it is supposed to indicate something. So What does this mean or what is it supposed to be telling me? Thanks in advance.
A document I’m typing up is doing something different than I am used to seeing. Most of the document, if I scroll select the text, highlights it in light blue. But the most recent section I’ve been working on has some random sections of it highlighted in black. (See attached pic.) I can’t figure out why it is doing that and if it is supposed to indicate something. So What does this mean or what is it supposed to be telling me? Thanks in advance. Read More
Look for dates/times that are closest to specified date/time
Hello everyone,
In my worksheet, I have a list of events that I need to schedule flights for (both to and from the event). The flights to be scheduled depend on the time of the event, and there is a large list to look through, so I want to try and automate this each month.
On one sheet, I have a list of the events that I want to schedule flights for. Each event has a route, along with either the “latest arrival time” (for outbound flights), or “earliest departure time” (for return flights). These times are compared to a full list of scheduled flights (Sheet 2). I’ve also attached a sample with the expected results.
For the outbound flight:
For the listed route (column B), look at the ARRIVAL times for flights in Sheet 2Return the flight (flt #, departure time, arrival time) for the flight is closest to – but no later than – the “out latest arrival” date/time (column c)
So for event A: LAXPHX, with latest arrival time of 7/1 @ 20:30. There is a LAXPHX flight that arrives at 20:39, but since that is after the “latest arrival”, the next earliest one would be flight # 5, with an arrival time of 19:44. This information is returned to columns D-F on Sheet 1
For the return flight,
For the listed route (column H), look at the DEPARTURE times in Sheet 2Return the flight (flt #, departure date/time, arrival date/time) for the flight that is closest to – but no earlier than – the “return earliest departure” date/time (column I)
The return for event A: PHXLAX, earliest departure of 7/3 @ 5:45. There is a PHXLAX flight that departs @ 5:30, but that is too early; the desired one is flt # 14, departing @ 6:25, and arriving @ 7:19. This information is returned to columns J-L on Sheet 1.
Note: if it will be simpler to put the scheduled flights for each route in different sheets, that will be fine!
Thank you for any guidance you can provide!
Hello everyone, In my worksheet, I have a list of events that I need to schedule flights for (both to and from the event). The flights to be scheduled depend on the time of the event, and there is a large list to look through, so I want to try and automate this each month. On one sheet, I have a list of the events that I want to schedule flights for. Each event has a route, along with either the “latest arrival time” (for outbound flights), or “earliest departure time” (for return flights). These times are compared to a full list of scheduled flights (Sheet 2). I’ve also attached a sample with the expected results. For the outbound flight:For the listed route (column B), look at the ARRIVAL times for flights in Sheet 2Return the flight (flt #, departure time, arrival time) for the flight is closest to – but no later than – the “out latest arrival” date/time (column c) So for event A: LAXPHX, with latest arrival time of 7/1 @ 20:30. There is a LAXPHX flight that arrives at 20:39, but since that is after the “latest arrival”, the next earliest one would be flight # 5, with an arrival time of 19:44. This information is returned to columns D-F on Sheet 1 For the return flight, For the listed route (column H), look at the DEPARTURE times in Sheet 2Return the flight (flt #, departure date/time, arrival date/time) for the flight that is closest to – but no earlier than – the “return earliest departure” date/time (column I) The return for event A: PHXLAX, earliest departure of 7/3 @ 5:45. There is a PHXLAX flight that departs @ 5:30, but that is too early; the desired one is flt # 14, departing @ 6:25, and arriving @ 7:19. This information is returned to columns J-L on Sheet 1. Note: if it will be simpler to put the scheduled flights for each route in different sheets, that will be fine! Thank you for any guidance you can provide! Read More
IBM Maximo Application Suite migration and modernization with Azure Red Hat OpenShift
IBM Maximo has been a leading enterprise asset management solution in the industry for four decades, helping customers streamline work processes with a centralized platform for managing tasks, inventory, regulatory compliance and reporting capabilities. IBM Maximo Application Suite (MAS), the next generation of IBM Maximo, delivers a better user experience, faster integration, robust AI analytics, and a broad range of cloud deployment options. MAS provides organizations with a robust and modern asset management solution.
Red Hat OpenShift, the industry’s leading hybrid cloud application platform powered by Kubernetes, brings together tested and trusted services to reduce the friction of developing, modernizing, deploying, running and managing applications. OpenShift delivers a consistent experience across public cloud, on premises, hybrid cloud or edge architecture.
Microsoft Azure Red Hat OpenShift (ARO) provides highly available, fully managed OpenShift clusters on demand, monitored and operated jointly by Microsoft and Red Hat. OpenShift brings added-value features to complement Kubernetes, making it a turnkey container PaaS with a significantly improved developer and operator experience.
Maximo customers will be required to move to MAS when Maximo 7.x reaches end of life. MAS has been containerized to run specifically on Red Hat OpenShift. To ease this transition for customers who are unfamiliar with running containers in production, IBM, Microsoft and Red Hat have teamed up to provide a validated architecture for running MAS on Azure Red Hat OpenShift.
This blog will walk through the recommended options for running MAS on Azure and describe how the IBM, Red Hat and Microsoft Azure components come together and provide a solid foundation for running MAS. We will also explore the architectural decisions to consider, so you can choose the one that best fits your organization’s needs.
For each option below, there are two components to keep in mind: the MAS application and the platform MAS runs on (Red Hat OpenShift or Microsoft Azure Red Hat OpenShift).
Option 1 provides a scripted install process for the MAS application and the underlying OpenShift Container Platform (OCP). This process makes the overall installation process simpler. However, the ability to customize the MAS installation is limited since it is script-based. Additionally, because the underlying platform is a self-managed OCP, the customer has complete control over the infrastructure in exchange for monitoring and maintaining that OCP cluster.
Option 2a requires the customer to install MAS themselves but allows for greater customization of MAS during the installation process. This option also provides complete control over the underlying OCP but requires the customer to install, monitor and maintain OCP.
Option 2b requires the customer to install MAS themselves but allows for greater customization of MAS during the installation process. In this option, the underlying platform is Microsoft ARO, a managed version of OCP offered by Microsoft. The installation of ARO is scripted, and Red Hat site reliability engineers (SREs) are responsible for monitoring and maintaining the OCP cluster. However, because Red Hat SREs manage the cluster, customers will have less control over the platform infrastructure than in options 1 and 2a.
Installation option
MAS installation
MAS installation customization
Platform creation
Platform control
Platform (OCP) management
Option 1
Scripted
Less customization
Scripted
Complete control
Customer managed
Option 2a
Manual by customer
More customization
Customer driven
Complete control
Customer managed
Option 2b
Manual by customer
More customization
Scripted
Less control
Red Hat SRE managed
Option 1: MAS on self-managed Red Hat OpenShift through Marketplace
This deployment option involves setting up MAS on an OpenShift cluster, which runs on the Azure platform. Azure Marketplace serves as the conduit through which this deployment is made possible.
One of the primary advantages of choosing this deployment option is the ease of deployment. Azure Marketplace simplifies the process by providing pre-configured templates and scripts that are deployed on the customer’s behalf. One can use this pattern to set up MAS quickly and efficiently, reducing software deployment complexity.
You can deploy a new cluster, use an existing one or deploy a new one into an existing network. However, you must provide the expected database and email configurations before the deployment. This flexibility enables organizations to optimize their infrastructure and adapt to changing needs. The Azure Marketplace pattern simplifies the deployment process, allowing businesses to focus on using MAS to enhance their asset management practices quickly.
It’s essential to carefully consider resource allocation, data security, integration and support to enable a successful deployment and maximize the benefits of MAS. With the right planning and execution, organizations can unlock the full potential of MAS in their asset management journey through Azure Marketplace with minimal effort.
Option 2a: MAS on self-managed Red Hat OpenShift through “do it yourself” option
Deploying MAS on a self-installed OpenShift cluster on Microsoft Azure through the “do it yourself” option means you have complete control over the installation process. Unlike other deployment methods, where the environment is pre-configured, this approach empowers you to customize your MAS deployment to align with your specific requirements.
One of the primary advantages of choosing the “do it yourself” option is its unparalleled level of control. You can tailor the deployment to your unique needs, ensuring every component is configured to optimize the asset management processes.
With this option, you can select your preferred installer from various options, including installer provisioned infrastructure, user provisioned infrastructure and even an airgap configuration. This flexibility allows you to use your existing expertise or choose the installer that aligns best with your infrastructure and security requirements.
However, it’s essential to recognize this option’s need for skilled resources, the potential complexity of the deployment process and the ongoing support and maintenance responsibilities. With the right expertise and a well-thought-out plan, the “do it yourself” option can be a powerful choice for organizations looking to maximize the potential of MAS in their asset management journey.
Option 2b: MAS deployment on Azure Red Hat OpenShift managed by Microsoft Azure
MAS is deployed on ARO in this option. This strategic combination offers a range of advantages for businesses looking to streamline their processes. This option provides a middle ground between the previous two options.
MAS on ARO is straightforward to set up and will require less effort than the “do it yourself” approach while giving you similar levels of control over OpenShift and MAS. It is mainly for those who prefer not to manage OpenShift themselves, but who still want control over the hosting platform. However, as you’ll be interfacing with OpenShift directly, you will still need team members skilled in OpenShift to make this option work. While this option requires less work from an ongoing management perspective, as OpenShift management is taken care of, it will take additional upfront work because you will be deploying MAS by yourself.
The advantages of MAS deployment on ARO are multifaceted. First, it lowers the entry barrier and requires a smaller OpenShift/Kubernetes resources skill set on day one to get started. Most importantly, you no longer need to spend time and effort setting up OpenShift and applying subsequent updates.
Second, it provides a managed experience through a PaaS offering supported by Microsoft and RedHat. It provides distinct benefits for those prioritizing rapid access to support services. It simplifies the overall experience of managing the health and updates of OpenShift, as Microsoft is responsible for that.
Each MAS on Azure deployment option has its advantages and limitations. You should review these factors to align their deployment with your business needs and requirements. You should assess their infrastructure, customization and cost considerations to make an informed decision that ensures a successful and efficient MAS deployment. By understanding the strengths and limitations of each option, customers can choose the deployment option that meets their business objectives.
Work with IBM Maximo on Azure
Self deploy Maximo with our GitHub guide
Deploy Maximo through the marketplace (client managed)
Deploy Maximo through the marketplace (BYOL)
Microsoft Tech Community – Latest Blogs –Read More
phase diagram of 3D Anderson model
L = 10; % system size
nr = 10;
nsteps = 100;
W_values = linspace(0, 20, nsteps);
IPR_over_W = cell(1, nsteps);
eigenvalues_cell = cell(nr, nsteps);
for W_index = 1:nsteps
W = W_values(W_index);
IPRs_for_this_W = zeros(1, nr);
for ir = 1:nr
H = generate_hamiltonian(L, W);
[eigenstates, D] = eig(H);
eigenvalues = diag(D);
energy_levels{ir} = eigenvalues(:)’;
IPR{ir} = compute_IPR(eigenstates);
IPRs_for_this_W(ir) = mean(IPR{ir});
% Store the eigenvalues in a cell array
eigenvalues_cell{ir, W_index} = eigenvalues(:)’;
end
% Store the mean IPR over 100 realizations for this W value
IPR_over_W{W_index} = mean(IPRs_for_this_W);
disp([W, IPR_over_W{W_index}])
end
%
% Create a figure for the color plot
figure;
% Define the colormap and use the IPR values for coloring
cmap = jet;
% Loop over W values
for W_index = 1:nsteps
W = W_values(W_index);
% Extract eigenvalues from the cell array
eigenvalues_for_W = eigenvalues_cell(:, W_index);
% Initialize arrays to store eigenvalues and y-axis values
eigenvalues_numeric = [];
y_values = [];
cdata = []; % Initialize color data
% Convert eigenvalues_for_W to a numeric array and create y_values
for ir = 1:nr
eigenvalues_ir = eigenvalues_for_W{ir};
eigenvalues_numeric = [eigenvalues_numeric, eigenvalues_ir];
y_values = [y_values, W * ones(size(eigenvalues_ir))];
% Calculate IPR values (You should have a function for this)
IPR_value = compute_IPR(eigenvalues_ir);
cdata = [cdata, IPR_value];
end
% Create a scatter plot with eigenvalues on the x-axis and y_values on the y-axis
scatter(eigenvalues_numeric, y_values, 20, cdata*1e-4, ‘filled’);
% imagesc(W_values, 1:nr, IPR_matrix);
colormap(cmap);
colorbar; % Add a colorbar
hold on;
end
xlabel(‘Eigenvalues’);
ylabel(‘W’);
title(‘Color Plot: Eigenvalues vs. W vs. IPR’);
hold off;
%%% box disorder
function disorder = generate_disorder(L, W)
disorder = W * ((rand(L, L, L) – 0.5));
end
% Generate the Hamiltonian matrix for one realization of the random disorder
function H = generate_hamiltonian(L, W)
H = zeros(L * L * L, L * L * L);
disorder = generate_disorder(L, W);
for i = 1:L
ip1 = mod(i, L) + 1;
for j = 1:L
jp1 = mod(j, L) + 1;
for k = 1:L
kp1 = mod(k, L) + 1;
H((i – 1) * L * L + (j – 1) * L + k, (i – 1) * L * L + (j – 1) * L + k) = disorder(i, j, k);
H(ip1 * L * L + j * L + k, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + jp1 * L + k, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + kp1, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, ip1 * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, (i – 1) * L * L + jp1 * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, (i – 1) * L * L + j * L + kp1) = 1.0;
end
end
end
end
function IPR = compute_IPR(eigenstates)
IPR = sum(abs(eigenstates).^4, 1);
endL = 10; % system size
nr = 10;
nsteps = 100;
W_values = linspace(0, 20, nsteps);
IPR_over_W = cell(1, nsteps);
eigenvalues_cell = cell(nr, nsteps);
for W_index = 1:nsteps
W = W_values(W_index);
IPRs_for_this_W = zeros(1, nr);
for ir = 1:nr
H = generate_hamiltonian(L, W);
[eigenstates, D] = eig(H);
eigenvalues = diag(D);
energy_levels{ir} = eigenvalues(:)’;
IPR{ir} = compute_IPR(eigenstates);
IPRs_for_this_W(ir) = mean(IPR{ir});
% Store the eigenvalues in a cell array
eigenvalues_cell{ir, W_index} = eigenvalues(:)’;
end
% Store the mean IPR over 100 realizations for this W value
IPR_over_W{W_index} = mean(IPRs_for_this_W);
disp([W, IPR_over_W{W_index}])
end
%
% Create a figure for the color plot
figure;
% Define the colormap and use the IPR values for coloring
cmap = jet;
% Loop over W values
for W_index = 1:nsteps
W = W_values(W_index);
% Extract eigenvalues from the cell array
eigenvalues_for_W = eigenvalues_cell(:, W_index);
% Initialize arrays to store eigenvalues and y-axis values
eigenvalues_numeric = [];
y_values = [];
cdata = []; % Initialize color data
% Convert eigenvalues_for_W to a numeric array and create y_values
for ir = 1:nr
eigenvalues_ir = eigenvalues_for_W{ir};
eigenvalues_numeric = [eigenvalues_numeric, eigenvalues_ir];
y_values = [y_values, W * ones(size(eigenvalues_ir))];
% Calculate IPR values (You should have a function for this)
IPR_value = compute_IPR(eigenvalues_ir);
cdata = [cdata, IPR_value];
end
% Create a scatter plot with eigenvalues on the x-axis and y_values on the y-axis
scatter(eigenvalues_numeric, y_values, 20, cdata*1e-4, ‘filled’);
% imagesc(W_values, 1:nr, IPR_matrix);
colormap(cmap);
colorbar; % Add a colorbar
hold on;
end
xlabel(‘Eigenvalues’);
ylabel(‘W’);
title(‘Color Plot: Eigenvalues vs. W vs. IPR’);
hold off;
%%% box disorder
function disorder = generate_disorder(L, W)
disorder = W * ((rand(L, L, L) – 0.5));
end
% Generate the Hamiltonian matrix for one realization of the random disorder
function H = generate_hamiltonian(L, W)
H = zeros(L * L * L, L * L * L);
disorder = generate_disorder(L, W);
for i = 1:L
ip1 = mod(i, L) + 1;
for j = 1:L
jp1 = mod(j, L) + 1;
for k = 1:L
kp1 = mod(k, L) + 1;
H((i – 1) * L * L + (j – 1) * L + k, (i – 1) * L * L + (j – 1) * L + k) = disorder(i, j, k);
H(ip1 * L * L + j * L + k, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + jp1 * L + k, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + kp1, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, ip1 * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, (i – 1) * L * L + jp1 * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, (i – 1) * L * L + j * L + kp1) = 1.0;
end
end
end
end
function IPR = compute_IPR(eigenstates)
IPR = sum(abs(eigenstates).^4, 1);
end L = 10; % system size
nr = 10;
nsteps = 100;
W_values = linspace(0, 20, nsteps);
IPR_over_W = cell(1, nsteps);
eigenvalues_cell = cell(nr, nsteps);
for W_index = 1:nsteps
W = W_values(W_index);
IPRs_for_this_W = zeros(1, nr);
for ir = 1:nr
H = generate_hamiltonian(L, W);
[eigenstates, D] = eig(H);
eigenvalues = diag(D);
energy_levels{ir} = eigenvalues(:)’;
IPR{ir} = compute_IPR(eigenstates);
IPRs_for_this_W(ir) = mean(IPR{ir});
% Store the eigenvalues in a cell array
eigenvalues_cell{ir, W_index} = eigenvalues(:)’;
end
% Store the mean IPR over 100 realizations for this W value
IPR_over_W{W_index} = mean(IPRs_for_this_W);
disp([W, IPR_over_W{W_index}])
end
%
% Create a figure for the color plot
figure;
% Define the colormap and use the IPR values for coloring
cmap = jet;
% Loop over W values
for W_index = 1:nsteps
W = W_values(W_index);
% Extract eigenvalues from the cell array
eigenvalues_for_W = eigenvalues_cell(:, W_index);
% Initialize arrays to store eigenvalues and y-axis values
eigenvalues_numeric = [];
y_values = [];
cdata = []; % Initialize color data
% Convert eigenvalues_for_W to a numeric array and create y_values
for ir = 1:nr
eigenvalues_ir = eigenvalues_for_W{ir};
eigenvalues_numeric = [eigenvalues_numeric, eigenvalues_ir];
y_values = [y_values, W * ones(size(eigenvalues_ir))];
% Calculate IPR values (You should have a function for this)
IPR_value = compute_IPR(eigenvalues_ir);
cdata = [cdata, IPR_value];
end
% Create a scatter plot with eigenvalues on the x-axis and y_values on the y-axis
scatter(eigenvalues_numeric, y_values, 20, cdata*1e-4, ‘filled’);
% imagesc(W_values, 1:nr, IPR_matrix);
colormap(cmap);
colorbar; % Add a colorbar
hold on;
end
xlabel(‘Eigenvalues’);
ylabel(‘W’);
title(‘Color Plot: Eigenvalues vs. W vs. IPR’);
hold off;
%%% box disorder
function disorder = generate_disorder(L, W)
disorder = W * ((rand(L, L, L) – 0.5));
end
% Generate the Hamiltonian matrix for one realization of the random disorder
function H = generate_hamiltonian(L, W)
H = zeros(L * L * L, L * L * L);
disorder = generate_disorder(L, W);
for i = 1:L
ip1 = mod(i, L) + 1;
for j = 1:L
jp1 = mod(j, L) + 1;
for k = 1:L
kp1 = mod(k, L) + 1;
H((i – 1) * L * L + (j – 1) * L + k, (i – 1) * L * L + (j – 1) * L + k) = disorder(i, j, k);
H(ip1 * L * L + j * L + k, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + jp1 * L + k, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + kp1, (i – 1) * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, ip1 * L * L + j * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, (i – 1) * L * L + jp1 * L + k) = 1.0;
H((i – 1) * L * L + j * L + k, (i – 1) * L * L + j * L + kp1) = 1.0;
end
end
end
end
function IPR = compute_IPR(eigenstates)
IPR = sum(abs(eigenstates).^4, 1);
end colormap MATLAB Answers — New Questions
Pipe (TL) fluid compressibility problem
Hello whenever I uncheck the compressibility box my model can’t run anymore can anyone help please.Hello whenever I uncheck the compressibility box my model can’t run anymore can anyone help please. Hello whenever I uncheck the compressibility box my model can’t run anymore can anyone help please. simscape, simulink, simulation, problem MATLAB Answers — New Questions
How to avoid the overshoot in Jiles Atherton hysteresis loop
Trying to plot a hysteresis model using jiles atherton hysteresis model in matlab. All the parameters are defined in the beginning.
Here is the code I have written,
clear
%% Given parameters
a = 512;
c = 0.75;
k = 570;
M_s = 1.7*10^6;
i_s = 10^-6;
alpha = 0.032;
u_0 = 4*pi*10^-7;
f = 1;
h_max = 8000;
%% Generate time vector
t_start = 0; %start time
t_end = 60; %end time
dt = 0.001; %time steps
t = t_start:dt:t_end;
%% Initial values
M_irev(1) = 0; %Initial irreversible magnetization
h = h_max*sin(2*pi*f*t); % Sinusoidal magnetic field strength
%% Time stepping loop
for i=2:length(t)
% Compute effective field
h_e = h(i); % Applied field and effective field considered equal
% Compute anhysteric magnetization
M_an = M_s*(coth(h_e/a) – (a/(h_e))); % Langevin function
% Compute derivative of magnetic field with respect to time
dh_e = (h(i) – h(i-1)) / dt;
delta = sign(dh_e);
% Compute irreversible magnetization using Euler method
M_irev(i) = ((M_an – M_irev(i-1)) / ((k * delta) – (alpha * (M_an – M_irev(i-1))))) * dh_e;
% Update magnetization
M(i) = c*M_an + (1-c)*M_irev(i);
end
%% Magnetic flux density
B = u_0 * (h + M);
%% Plot results
figure;
plot(h, B);
xlabel(‘Magnetic Field Strength’);
ylabel(‘Magnetic Flux Density’);
title(‘HB Graph’);
grid on;
The problem I am facing is when it plots the curve, it shows overshoot at three points. Suspecting the problem is in the ‘Langevin function’. Lower values of h at the end part creates bigger values thus it shows overshoot at those points. I think I need to use approximation (Taylor series or similar method) at those points so that when overshoot happens the code will avoid those overshoots and take the approximation. Can anyone show me how can I do that approximation?Trying to plot a hysteresis model using jiles atherton hysteresis model in matlab. All the parameters are defined in the beginning.
Here is the code I have written,
clear
%% Given parameters
a = 512;
c = 0.75;
k = 570;
M_s = 1.7*10^6;
i_s = 10^-6;
alpha = 0.032;
u_0 = 4*pi*10^-7;
f = 1;
h_max = 8000;
%% Generate time vector
t_start = 0; %start time
t_end = 60; %end time
dt = 0.001; %time steps
t = t_start:dt:t_end;
%% Initial values
M_irev(1) = 0; %Initial irreversible magnetization
h = h_max*sin(2*pi*f*t); % Sinusoidal magnetic field strength
%% Time stepping loop
for i=2:length(t)
% Compute effective field
h_e = h(i); % Applied field and effective field considered equal
% Compute anhysteric magnetization
M_an = M_s*(coth(h_e/a) – (a/(h_e))); % Langevin function
% Compute derivative of magnetic field with respect to time
dh_e = (h(i) – h(i-1)) / dt;
delta = sign(dh_e);
% Compute irreversible magnetization using Euler method
M_irev(i) = ((M_an – M_irev(i-1)) / ((k * delta) – (alpha * (M_an – M_irev(i-1))))) * dh_e;
% Update magnetization
M(i) = c*M_an + (1-c)*M_irev(i);
end
%% Magnetic flux density
B = u_0 * (h + M);
%% Plot results
figure;
plot(h, B);
xlabel(‘Magnetic Field Strength’);
ylabel(‘Magnetic Flux Density’);
title(‘HB Graph’);
grid on;
The problem I am facing is when it plots the curve, it shows overshoot at three points. Suspecting the problem is in the ‘Langevin function’. Lower values of h at the end part creates bigger values thus it shows overshoot at those points. I think I need to use approximation (Taylor series or similar method) at those points so that when overshoot happens the code will avoid those overshoots and take the approximation. Can anyone show me how can I do that approximation? Trying to plot a hysteresis model using jiles atherton hysteresis model in matlab. All the parameters are defined in the beginning.
Here is the code I have written,
clear
%% Given parameters
a = 512;
c = 0.75;
k = 570;
M_s = 1.7*10^6;
i_s = 10^-6;
alpha = 0.032;
u_0 = 4*pi*10^-7;
f = 1;
h_max = 8000;
%% Generate time vector
t_start = 0; %start time
t_end = 60; %end time
dt = 0.001; %time steps
t = t_start:dt:t_end;
%% Initial values
M_irev(1) = 0; %Initial irreversible magnetization
h = h_max*sin(2*pi*f*t); % Sinusoidal magnetic field strength
%% Time stepping loop
for i=2:length(t)
% Compute effective field
h_e = h(i); % Applied field and effective field considered equal
% Compute anhysteric magnetization
M_an = M_s*(coth(h_e/a) – (a/(h_e))); % Langevin function
% Compute derivative of magnetic field with respect to time
dh_e = (h(i) – h(i-1)) / dt;
delta = sign(dh_e);
% Compute irreversible magnetization using Euler method
M_irev(i) = ((M_an – M_irev(i-1)) / ((k * delta) – (alpha * (M_an – M_irev(i-1))))) * dh_e;
% Update magnetization
M(i) = c*M_an + (1-c)*M_irev(i);
end
%% Magnetic flux density
B = u_0 * (h + M);
%% Plot results
figure;
plot(h, B);
xlabel(‘Magnetic Field Strength’);
ylabel(‘Magnetic Flux Density’);
title(‘HB Graph’);
grid on;
The problem I am facing is when it plots the curve, it shows overshoot at three points. Suspecting the problem is in the ‘Langevin function’. Lower values of h at the end part creates bigger values thus it shows overshoot at those points. I think I need to use approximation (Taylor series or similar method) at those points so that when overshoot happens the code will avoid those overshoots and take the approximation. Can anyone show me how can I do that approximation? jiles-atherton, hysteresis, approximation, taylor series MATLAB Answers — New Questions
Property set method for structure-like property
Hello, I’m implementing a class (used to control an instrument through a USB interface).
Due to the structure of the instrument, I’d like to store properies as structures.
I wonder if there is a good way to implement property set method which would only update the field that was changed.
Here is what I have know:
classdef Driver < handle
properties
input; % Structure array with input settings
% – range
% – ac (coupling: AC/DC)
% – impedance_50ohm (50/1e6)
output; % Structure array with output settings
% – on
% – range (V)
% – amplitude (V, peak-to-peak)
% – mixer (channel)
end
methods
% Getters
function input = get.input(obj)
range = obj.get(‘input_range’);
ac = obj.get(‘input_ac’);
impedance_50ohm = obj.get(‘input_impedance_50’);
input = struct(‘range’, range, ‘ac’, ac, ‘impedance_50ohm’, impedance_50ohm);
end
function output = get.output(obj)
on = obj.get(‘output_on’);
range = obj.get(‘output_range’);
amplitude = obj.get(‘output_amplitude’);
mixer = obj.get(‘output_mixer’);
output = struct(‘on’, on, ‘range’, range, ‘amplitude’, amplitude, ‘mixer’, mixer);
end
% Setters
function set.input(obj, input)
obj.set(‘input_range’, input.range);
obj.set(‘input_ac’, input.ac);
obj.set(‘input_impedance_50’, input.impedance_50ohm);
end
function set.output(obj, output)
obj.set(‘output_on’, output.on);
obj.set(‘output_range’, output.range);
obj.set(‘output_amplitude’, output.amplitude);
obj.set(‘output_mixer’, output.mixer);
end
end
end
However, I do not want to update all the field each time one field is changed. I want to do something like (obviously this not a proper code):
classdef Driver < handle
properties
input; % Structure array with input settings
% – range
% – ac (coupling: AC/DC)
% – impedance_50ohm (50/1e6)
output; % Structure array with output settings
% – on
% – range (V)
% – amplitude (V, peak-to-peak)
% – mixer (channel)
end
methods
% Getters
function range = get.input.range(obj)
range = obj.get(‘input_range’);
end
function ac = get.input.ac(obj)
ac = obj.get(‘input_ac’);
end
%etc…
% Setters
function set.input.range(obj, input.range)
obj.set(‘input_range’, input.range);
end
function set.input.ac(obj, input.ac)
obj.set(‘input_ac’, input.ac);
end
%etc…
end
end
I understand that I could just make them separate properties, but this would be not a pleasing solution.
classdef Driver < handle
properties
%Input Parameters
input_range; % Input ranges of all signal inputs
input_ac; % Input couplings of all signal inputs
input_impedance_50; % Input impedances of all signal inputs
%Output Parameters
output_on; % Output status of all signal outputs
output_range; % Output ranges of all signal outputs
output_amplitude; % Output amplitudes of all signal outputs
output_mixer; % Output mixer channels of all signal outputs
end
end
Thank you.Hello, I’m implementing a class (used to control an instrument through a USB interface).
Due to the structure of the instrument, I’d like to store properies as structures.
I wonder if there is a good way to implement property set method which would only update the field that was changed.
Here is what I have know:
classdef Driver < handle
properties
input; % Structure array with input settings
% – range
% – ac (coupling: AC/DC)
% – impedance_50ohm (50/1e6)
output; % Structure array with output settings
% – on
% – range (V)
% – amplitude (V, peak-to-peak)
% – mixer (channel)
end
methods
% Getters
function input = get.input(obj)
range = obj.get(‘input_range’);
ac = obj.get(‘input_ac’);
impedance_50ohm = obj.get(‘input_impedance_50’);
input = struct(‘range’, range, ‘ac’, ac, ‘impedance_50ohm’, impedance_50ohm);
end
function output = get.output(obj)
on = obj.get(‘output_on’);
range = obj.get(‘output_range’);
amplitude = obj.get(‘output_amplitude’);
mixer = obj.get(‘output_mixer’);
output = struct(‘on’, on, ‘range’, range, ‘amplitude’, amplitude, ‘mixer’, mixer);
end
% Setters
function set.input(obj, input)
obj.set(‘input_range’, input.range);
obj.set(‘input_ac’, input.ac);
obj.set(‘input_impedance_50’, input.impedance_50ohm);
end
function set.output(obj, output)
obj.set(‘output_on’, output.on);
obj.set(‘output_range’, output.range);
obj.set(‘output_amplitude’, output.amplitude);
obj.set(‘output_mixer’, output.mixer);
end
end
end
However, I do not want to update all the field each time one field is changed. I want to do something like (obviously this not a proper code):
classdef Driver < handle
properties
input; % Structure array with input settings
% – range
% – ac (coupling: AC/DC)
% – impedance_50ohm (50/1e6)
output; % Structure array with output settings
% – on
% – range (V)
% – amplitude (V, peak-to-peak)
% – mixer (channel)
end
methods
% Getters
function range = get.input.range(obj)
range = obj.get(‘input_range’);
end
function ac = get.input.ac(obj)
ac = obj.get(‘input_ac’);
end
%etc…
% Setters
function set.input.range(obj, input.range)
obj.set(‘input_range’, input.range);
end
function set.input.ac(obj, input.ac)
obj.set(‘input_ac’, input.ac);
end
%etc…
end
end
I understand that I could just make them separate properties, but this would be not a pleasing solution.
classdef Driver < handle
properties
%Input Parameters
input_range; % Input ranges of all signal inputs
input_ac; % Input couplings of all signal inputs
input_impedance_50; % Input impedances of all signal inputs
%Output Parameters
output_on; % Output status of all signal outputs
output_range; % Output ranges of all signal outputs
output_amplitude; % Output amplitudes of all signal outputs
output_mixer; % Output mixer channels of all signal outputs
end
end
Thank you. Hello, I’m implementing a class (used to control an instrument through a USB interface).
Due to the structure of the instrument, I’d like to store properies as structures.
I wonder if there is a good way to implement property set method which would only update the field that was changed.
Here is what I have know:
classdef Driver < handle
properties
input; % Structure array with input settings
% – range
% – ac (coupling: AC/DC)
% – impedance_50ohm (50/1e6)
output; % Structure array with output settings
% – on
% – range (V)
% – amplitude (V, peak-to-peak)
% – mixer (channel)
end
methods
% Getters
function input = get.input(obj)
range = obj.get(‘input_range’);
ac = obj.get(‘input_ac’);
impedance_50ohm = obj.get(‘input_impedance_50’);
input = struct(‘range’, range, ‘ac’, ac, ‘impedance_50ohm’, impedance_50ohm);
end
function output = get.output(obj)
on = obj.get(‘output_on’);
range = obj.get(‘output_range’);
amplitude = obj.get(‘output_amplitude’);
mixer = obj.get(‘output_mixer’);
output = struct(‘on’, on, ‘range’, range, ‘amplitude’, amplitude, ‘mixer’, mixer);
end
% Setters
function set.input(obj, input)
obj.set(‘input_range’, input.range);
obj.set(‘input_ac’, input.ac);
obj.set(‘input_impedance_50’, input.impedance_50ohm);
end
function set.output(obj, output)
obj.set(‘output_on’, output.on);
obj.set(‘output_range’, output.range);
obj.set(‘output_amplitude’, output.amplitude);
obj.set(‘output_mixer’, output.mixer);
end
end
end
However, I do not want to update all the field each time one field is changed. I want to do something like (obviously this not a proper code):
classdef Driver < handle
properties
input; % Structure array with input settings
% – range
% – ac (coupling: AC/DC)
% – impedance_50ohm (50/1e6)
output; % Structure array with output settings
% – on
% – range (V)
% – amplitude (V, peak-to-peak)
% – mixer (channel)
end
methods
% Getters
function range = get.input.range(obj)
range = obj.get(‘input_range’);
end
function ac = get.input.ac(obj)
ac = obj.get(‘input_ac’);
end
%etc…
% Setters
function set.input.range(obj, input.range)
obj.set(‘input_range’, input.range);
end
function set.input.ac(obj, input.ac)
obj.set(‘input_ac’, input.ac);
end
%etc…
end
end
I understand that I could just make them separate properties, but this would be not a pleasing solution.
classdef Driver < handle
properties
%Input Parameters
input_range; % Input ranges of all signal inputs
input_ac; % Input couplings of all signal inputs
input_impedance_50; % Input impedances of all signal inputs
%Output Parameters
output_on; % Output status of all signal outputs
output_range; % Output ranges of all signal outputs
output_amplitude; % Output amplitudes of all signal outputs
output_mixer; % Output mixer channels of all signal outputs
end
end
Thank you. setter, getter, class, property, structures MATLAB Answers — New Questions
AD Security Groups not available for purview ?
What is the fastest way to add users to a rule if a security group is not available for Purview ?
SetDLPComplianceRule – ?
Thanks
What is the fastest way to add users to a rule if a security group is not available for Purview ? SetDLPComplianceRule – ? Thanks Read More
Subject: Retrieving Lost Microsoft Excel 2013 Expert Certification
Dear Excel Administrator,
I am writing to inquire about retrieving a lost Microsoft Excel 2013 Expert certification. I successfully obtained the certificate and credentials, including the logo, from Certiport in approximately 2017.
Unfortunately, after several years, I have misplaced the certificate and logo files. I understand that Microsoft no longer directly issues certifications for Microsoft Office 2013 versions, as the program has been retired.
However, I would be grateful if you could advise on the possibility of retrieving a copy of my certification record or logo from Certiport. Since I no longer have access to the email address used during registration, I can only provide my Centennial College Student ID as verification (which I can send in a separate, private email if necessary).
I am actively seeking employment and having access to a copy of the certificate or logo would significantly enhance my application.
Thank you for your time and assistance in this matter.
Dear Excel Administrator,I am writing to inquire about retrieving a lost Microsoft Excel 2013 Expert certification. I successfully obtained the certificate and credentials, including the logo, from Certiport in approximately 2017.Unfortunately, after several years, I have misplaced the certificate and logo files. I understand that Microsoft no longer directly issues certifications for Microsoft Office 2013 versions, as the program has been retired.However, I would be grateful if you could advise on the possibility of retrieving a copy of my certification record or logo from Certiport. Since I no longer have access to the email address used during registration, I can only provide my Centennial College Student ID as verification (which I can send in a separate, private email if necessary).I am actively seeking employment and having access to a copy of the certificate or logo would significantly enhance my application.Thank you for your time and assistance in this matter. Read More