开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
develop
分支 (12)
标签 (55)
develop
Reboot2021
UnifiedInternalCone
Test_branch
Githubactionstest
Travistest
nonlinearsdp
master
newxunitframework
revert-673-develop
stochastics
auxilliaryprojection
R20210331
R20200930
R20200116_hotfix
R20200116
R20190425
R20181012
R20180926_fix3
R20180926_fix2
R20180926_fix
R20180926
R20180817
R20180612
R20180413
R20180209
R20171121
R20171018
R0170921
R20170921
R20170915
R20170818
develop
分支 (12)
标签 (55)
develop
Reboot2021
UnifiedInternalCone
Test_branch
Githubactionstest
Travistest
nonlinearsdp
master
newxunitframework
revert-673-develop
stochastics
auxilliaryprojection
R20210331
R20200930
R20200116_hotfix
R20200116
R20190425
R20181012
R20180926_fix3
R20180926_fix2
R20180926_fix
R20180926
R20180817
R20180612
R20180413
R20180209
R20171121
R20171018
R0170921
R20170921
R20170915
R20170818
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
develop
分支 (12)
标签 (55)
develop
Reboot2021
UnifiedInternalCone
Test_branch
Githubactionstest
Travistest
nonlinearsdp
master
newxunitframework
revert-673-develop
stochastics
auxilliaryprojection
R20210331
R20200930
R20200116_hotfix
R20200116
R20190425
R20181012
R20180926_fix3
R20180926_fix2
R20180926_fix
R20180926
R20180817
R20180612
R20180413
R20180209
R20171121
R20171018
R0170921
R20170921
R20170915
R20170818
YALMIP
/
@sdpvar
/
plot.m
YALMIP
/
@sdpvar
/
plot.m
plot.m 4.75 KB
一键复制 编辑 原始数据 按行查看 历史
johanlofberg 提交于 2014年08月29日 16:12 +08:00 . More removal of SET references
function Y=plot(varargin)
%PLOT (overloaded)
% Fast version for plotting simple PWA objects
if nargin == 1
X = varargin{1};
if isa(varargin{1},'sdpvar')
if length(X) == 1
if isequal(full(getbase(X)),[zeros(length(X),1) eye(length(X))])
extstruct = yalmip('extstruct',getvariables(X));
if ~isempty(extstruct)
if isequal(extstruct.fcn,'pwa_yalmip') | isequal(extstruct.fcn,'pwq_yalmip')%#ok
% Maybe some reduction has been performed so we
% actually can plot it
xarg = extstruct.arg{2};
switch extstruct.arg{3}
case ''
otherwise
Pn = polytope; Bi = {}; Ci = {};
index = extstruct.arg{5};
for i = 1:length(extstruct.arg{1})
% Pick out row
for j = 1:length(extstruct.arg{1}{i}.Bi)
extstruct.arg{1}{i}.Bi{j} = extstruct.arg{1}{i}.Bi{j}(index,:);
extstruct.arg{1}{i}.Ci{j} = extstruct.arg{1}{i}.Ci{j}(index,:);
end
if isempty(extstruct.arg{1}{i}.Ai{1})
Pn = [Pn extstruct.arg{1}{i}.Pn];
Bi = cat(2, Bi, extstruct.arg{1}{i}.Bi);
Ci = cat(2, Ci, extstruct.arg{1}{i}.Ci);
else
if nnz([extstruct.arg{1}{i}.Ai{:}]) == 0
Pn = [Pn extstruct.arg{1}{i}.Pn];
Bi = cat(2, Bi, extstruct.arg{1}{i}.Bi);
Ci = cat(2, Ci, extstruct.arg{1}{i}.Ci);
else
hold on
[extstruct.arg{1}{i}.Pn,extstruct.arg{1}{i}.Bi,extstruct.arg{1}{i}.Ci,extstruct.arg{1}{i}.Ai] = reduce_basis(extstruct.arg{1}{i}.Pn,extstruct.arg{1}{i}.Bi,extstruct.arg{1}{i}.Ci,extstruct.arg{1}{i}.Ai,xarg);
Y = mpt_plotPWQ(extstruct.arg{1}{i}.Pn, extstruct.arg{1}{i}.Ai,extstruct.arg{1}{i}.Bi,extstruct.arg{1}{i}.Ci);
hold off
end
end
end
if ~isempty(Bi),
hold on
[Pn,Bi,Ci] = reduce_basis(Pn,Bi,Ci,[],xarg);
if size(Bi{1},2) > 2
error('Cannot plot high-dimensional PWA functions')
end
mpt_plotPWA(Pn, Bi, Ci);
hold off
end
drawnow
return
end
end
end
end
else
for j = 1:length(X)
plot(extsubsref(X,j));
end
return
end
end
end
% More complex expression. Get epi-graph model
% project to our variables, and extract defining facets
if nargin == 1
[p,Bi,Ci,Pn,Pfinal] = pwa(varargin{1});%#ok
elseif isa(varargin{2},'lmi')
[p,Bi,Ci,Pn,Pfinal] = pwa(varargin{1},varargin{2});%#ok
else
error('Second argument should be a domain defining SET object.');
end
if nargout>0
Y = mpt_plotPWA(Pn,Bi,Ci);
else
mpt_plotPWA(Pn,Bi,Ci);
end
function S = extractrow(S,index)
for i = 1:length(S)
S{i} = S{i}(index,:);
end
function [Pnnew,Binew,Cinew,Ainew] = reduce_basis(Pn,Bi,Ci,Ai,xarg);
%
if ~isequal(getbase(xarg),[zeros(length(xarg),1) eye(length(xarg))])
base = getbase(xarg);
c = base(:,1);
D = base(:,2:end);
Pnnew = [];
Ainew = [];
Binew = [];
Cinew = [];
for i = 1:length(Pn)
[H,K] = double(Pn(i));
Phere = polytope(H*D,K-H*c);
if isfulldim(Phere)
Pnnew = [Pnnew Phere];
if ~isempty(Ai)
Cinew{end+1} = Ci{i} + Bi{i}*c + c'*Ai{i}*c;
Binew{end+1} = Bi{i}*D + 2*c'*Ai{i}*D;
Ainew{end+1} = D'*Ai{i}*Ai{i};
else
Cinew{end+1} = Ci{i} + Bi{i}*c;
Binew{end+1} = Bi{i}*D;
end
end
end
else
Pnnew = Pn;
Ainew = Ai;
Binew = Bi;
Cinew = Ci;
end
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

用于优化建模的 MATLAB 工具箱
暂无标签
未知许可证
查看未知开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Matlab
1
https://gitee.com/codeinLinXu/YALMIP.git
git@gitee.com:codeinLinXu/YALMIP.git
codeinLinXu
YALMIP
YALMIP
develop
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /